指示に従っていますが、使用する方法が混乱しています。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