比如說腳本名字是run.sh,運行時的命令行是 ./run.sh arg1 arg2
這時$0就是腳本本身,也就是./run.sh,$1就是arg1,$2就是arg2...
至於exit 0首先是退出腳本,其次是指定腳本退出時的返回值,退出後,可以用$?得到這個值。
比如,腳本裏退出時是執行的exit 1,這次腳本停止執行並退出,退出後,在shell裏echo $?,會得到1這個值。壹般來說,0代表成功,其它值代表失敗,具體什麽值代表什麽錯誤就看寫腳本時的約定了。
註意壹點,$?壹定是最近壹次命令的結果,如果妳執行腳本時exit 1,但是腳本退出後先執行了壹個ls命令,這時ls命令的執行是成功的,那這時再echo $?,得到的就是ls的返回值 0,而不是腳本的exit 1了。
總結壹下:$n是用來得到命令行參數,exit n是用來結束腳本並將執行結果返回給調用方,壹般就是shell或另外的腳本,而$?是用來得到最近壹次命令的返回值。