我有一个案例脚本如下:
for i in "$@"; do
arg=( $@ )
case $i in
--string)
for ((i=0; i<${#arg[@]}; i++)) ; do
if [ "${arg[$i]}" == "--string" ] ; then
((i++))
STRING=${arg[$i]}
fi
done
;;
*)
print_help
exit
;;
esac
done
当我运行 ./test --some_command --string 模式时;它打印帮助选项。当我在字符串中不带 *) 选项运行 ./test --some_command --string 模式时,它可以工作。
你能告诉我如何解决这个问题。
另一个例子 :
#!/bin/bash
test(){
echo i am testing this now
}
print_help()
{
echo help
}
for i in "$@"; do
arg=( $@ )
case $i in
--string)
for ((i=0; i<${#arg[@]}; i++)) ; do
if [ "${arg[$i]}" == "--string" ] ; then
((i++))
STRING=${arg[$i]}
fi
done
echo $STRING
;;
--test)
test
;;
*)
print_help
exit
;;
esac
done
当我运行 ./test --string pattern --test. 它打印模式帮助