0
私はShellScript Unixで遊んでいますので、愚かな質問かもしれません。もしそうなら謝罪してください。シンプルなbashシェルスクリプト出口での奇妙な動作
私は、コードの不都合な状況に適切に対処するために終了コードを処理しようとしていました。このために、コードスニペットを作成して、UNIXの終了動作を理解しました。ここでは、次のとおりです。
#!/usr/bin/bash
RES=1
if [ $RES -eq 0 ]
then
echo "Finishing with success!"
exit 0
else
echo "Finishing with error!"
exit 1
fi
私はコードが呼び出される(及び終了)されると、ということが理解私は戻ってbashプロンプトに行くだろう。しかし、exit命令もbashから出ているようです。それは普通ですか?多分私の開発環境に関連するものでしょうか?ここで
はbash-3.00$ . errtest.sh
Finishing with error!
$ echo $?
1
$ bash
bash-3.00$ which bash
/usr/bin/bash
...メッセージで参考のために、私はリターンとbashの場所を追加しました。それが役に立てば幸い。
ありがとうございます!
グレートいずれかでスクリプトを実行してみてください!それはまさに問題の解決策です、多くのありがとう、@ Dimitre Radoulov。 –
実際、助成金のほかに、私もスクリプトを間違って呼んでいました。私がスラッシュなしで電話すると、それはまだbashなしでプロンプトに戻ります。だから...私はいつもスラッシュを使用する必要があります。説明ありがとう! –
答えを知って、それの背後にある理由を見つけることは簡単です。他の誰かが同じ質問に該当する場合には、参考のためにここに追加します:http://stackoverflow.com/questions/6331075/why-do-you-need-dot-slash-before-script-name-to -run-it-in-bash –