Я заинтересован в написании сценария со следующим поведением:
- Посмотрите, существует ли файл build.xml в текущем каталоге, если это так, выполните команду, переданную через аргументы скрипту.
- Если нет, откройте текущий каталог и посмотрите на родительский. Перейти к 1.
Сценарий завершится, как только мы найдем файл или достигнем корня. Кроме того, как только скрипт завершится и управление вернется к пользователю, я хочу, чтобы текущим каталогом был тот каталог, в котором скрипт был изначально установлен.
Я не очень знаком с сценариями оболочки, но любая помощь / руководство будет высоко ценится.
shell-script
edarroyo
источник
источник
Ответы:
В bash вы можете добиться этого, например, так:
mkt.sh
Образец прогона:
Там нет необходимости делать это в Bash. Дочерние сценарии не могут изменить текущий pwd родительского процесса bash. Попробуй это:
Как вы можете видеть, текущий pwd не изменился, хотя скрипт
cd /usr
внутри него.источник
do-while
вместоwhile-do
. Я знаю, это довольно академично! Никто не поместит их build.xml в/
! ;)