「exit」がコメントアウトされると、コードは正常に動作します。

「exit」がコメントアウトされると、コードは正常に動作します。

指示に従っていますが、使用する方法が混乱しています。exit

    FILE=~/.bashrc
    if [ -e "$FILE" ] ; then
        if [ -f "$FILE" ]; then
            echo "$FILE is a regular file."
        fi
        if [ -d "$FILE" ]; then
            echo "$FILE is a directory."
        fi
        if [ -r "$FILE" ] ; then
            echo "$FILE is readable."
        fi
        if [ -w "$FILE" ] ; then
            echo "$FILE is writabe."
        fi
        if [ -x "$FILE" ]; then
            echo '$FILE is executable/searchable.'
        fi
        else
            echo '$FILE does not exist'
            exit 1
        fi
    exit

ここに走る

    $ bash test_file.sh
    /Users/me/.bashrc is a regular file.
    /Users/me/.bashrc is readable.
    /Users/me/.bashrc is writabe.

コマンドがコメントアウトされた場合、exit出力は変更されていません。

それは何をしますか?言語に慣れたら、エクスポートを省略できますか?

ベストアンサー1

このexitコマンドはスクリプトを終了するだけでなく、oneを設定しますexit code。これは通常、正常終了時にゼロ、エラー時には異なる整数です。したがって、スクリプトでこのコマンドの目的は、呼び出し元(他のスクリプト/プログラムまたはユーザー)に原因を知らせることです。プログラムはエラーで終了します。同様のシェルでは、bashシェル変数を調べて終了コードを表示または調査できます$?

また、インデントの問題があります。句は最初の文と同じレベルelseにインデントする必要があります...if

おすすめ記事