Просмотр полной версии : Ключи для скрипта
Забыл как можно создать несколько ключей для shell-скрипта?
Наподобие: скрипт test, если запустить её с ключом -d, он будет учитывать текущую дату (или другое), если с ключом -l, то выведет дополнительно список файлов и пр.
Артур Крюков
27.07.2007, 11:30
Забыл как можно создать несколько ключей для shell-скрипта?
Наподобие: скрипт test, если запустить её с ключом -d, он будет учитывать текущую дату (или другое), если с ключом -l, то выведет дополнительно список файлов и пр.
не понял... как ловить параметры командной строки в шелскрипте?
Артур Крюков
27.07.2007, 12:10
getopts?
Можно getopts, можно $1 - $9
как больше нравится
Все получилось прекрасно, только немного не понятно как сделать такое:
- если я использую ключи, скрипт работает соответственно используемым ключам
- если я запускаю скрипт без доп.параметров, то он отработает по определенному алгоритму
если сделать так:
while getopts u:ql KEY
do
case $KEY in
u);;
q);;
l);;
esac
done
echo "123"
exit 0
при запуске скрипта без ключей он выдаст 123, а если я запускаю с любым ключом он отрабатывает как положено и потом выдает 123. А мне нужно либо без них, либо так, как написано для ключа. Подозреваю что надо использовать if
Сделал так:
while getopts u:ql KEY
do
case $KEY in
u);;
q);;
l);;
esac
done
if [ "$#" = 0 ]
then
echo "123"
else
break
fi
exit 0
Артур Крюков
30.07.2007, 13:17
getopts не контролирует количество ключей, переданных программе. Поэтому контроль количества ложится на ваши плечи. $# - как раз то, что нужно.
Работает на vBulletin® версия 3.7.4. Copyright ©2000-2009, Jelsoft Enterprises Ltd. Перевод: zCarot