У меня есть скрипт bash с одним параметром, который отлично работает:
if [ "$1" == "output" ]
then
echo "strting with output"
else
echo "without output"
fi
Но теперь мне нужно использовать другой параметр, который должен быть независимым от первого. Это означает, что иногда может существовать парам, а может и нет.
if [ "$2" == "kill" ]
then killall myproc
fi
if [ "$1" == "output" ]
then
echo "strting with output"
else
echo "without output"
fi
Этот скрипт должен работать, если оба параметра существуют. Но как решить проблему, когда мне не нужно передавать первый параметр?
Хотя я считаю, что лучше использовать опции в этом случае (например, -o и -k), вы можете проанализировать параметры в начале вашего скрипта и установить переменные для каждого из них. то есть: ^!d0]
#!/bin/sh
for x in $@
do
case $x in
output)
OUTPUT=True
;;
kill)
KILL=True
;;
esac
done
if [ $OUTPUT ]
then
echo output is set
fi
if [ $KILL ]
then
echo kill is set
fi