运行命令得到
wget_exam -h
Usage: wget_exam2 <fileType> <source>
exit // then immediately Terminal shut dows
代码
# example wget_exam2 java http://www.example.com/ex_1
function wget_exam2 {
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\? ) echo "Usage: wget_exam2 <fileType> <source>"; exit;;
--) shift; break;;
-*) echo "invalid option: $1"; echo "Usage: wget_exam2 <fileType> <source>"; exit;;
esac
done
wget --random-wait -nd -r -p -A "$1" -e robots=off -U mozilla "$2"
}
答案1
如果您从 shell 提示符执行此函数,则exit
命令会告诉 shell 退出,而不是函数退出。您可能应该使用return
。
您可以使用返回值return
并在调用该函数的脚本中测试该值,然后使用exit
那里退出脚本(或不依赖于返回值)。
$ testfunc(){ return ${1:-0}; }
$ testfunc
$ echo $?
0
$ testfunc 0
$ echo $?
0
$ testfunc 1
$ echo $?
1