Предположим, вы хотите создать скрипт bash
, который не поддерживает никаких опций, но действует как cp
, потому что cp
, предоставляемый вашей системой, не принимает несколько источников.
Использование системы (гипотетической и неработающей) cp
:
cp source target # target may be a directory
Использование для скрипта будет:
cp.sh source... target # target must be a directory
Вот отправная точка для сценария:
#!/bin/bash
tgt="$1"
shift
for src in "$@"; do
echo cp $src $tgt
done
При запуске с аргументами "a b c d
" (обратите внимание, что d
является целью), он выдает:
cp b a
cp c a
cp d a
Цель состоит в том, чтобы исправить сценарий, чтобы выводить это вместо того, чтобы сохранить код простым:
cp a d
cp b d
cp c d