我在很多bash脚本中使用了一个简单的循环,但是这个特定的循环似乎不起作用。
#!/bin/bash
function main
{
echo here
while getopts "Ah" cli_opt; do
case ${cli_opt} in
A)
echo "op A"
start_all
return $?
;;
*)
echo invalid option
showHep
exit 1
;;
h)
showHelp
exit 0
;;
\?)
invalid option
showHelp
exit 1
;;
:)
option -$OPTARG requires an argument
showHelp
exit 1
;;
esac
done
}
main
exit 0
不管我怎么称呼它,它只会到达“这里”。
答案 0 :(得分:2)
解决方法,更改:
main
收件人:
main "$@"
"$@"
是一个包含所有参数的数组。您需要将此数组传递给您的main
函数。