Я делаю простой сценарий Shell из скучной, постоянно повторяющейся работы. Скрипт корректно меняет каталог, и теперь я хочу запускать другие скрипты на основе аргумента, который я набрал при запуске скрипта. Другие скрипты разбросаны по подкаталогам и каждый из них уникален. Поэтому я хочу вставить только имя файла и позволить сценарию выяснить, в каком подкаталоге находится этот файл.
Я попробовал что-то вроде этого:
filename="default.ini"
while [ $# -gt 0 ]
do
case "$1" in
-f) filename="$(find ./ -name $2)"; shift;;
-*) echo >&2 \
"usage: $0 [-v] [-f file] [file ...]"
exit 1;;
*) break;; # terminate while loop
esac
shift
done
echo $filename
Но find не возвращает никакого результата, поэтому он остается default.ini
. Есть ли другой способ решить эту проблему?