2

設定されていない変数の使用を防ぐために、KornShell (ksh) スクリプトでエラーまたは警告をスローする方法はありますか? 削除したい一時フォルダーがあるとします。

TEMP_FILES_DIR='/app/myapp/tmp'
rm -Rf $TEMP_FILE_DIR #notice the misspelling

この種のミスを実際に発生する前に防ぐにはどうすればよいでしょうか。

削除を試みる前に、スクリプトがファイルの存在と空の文字列をチェックする必要があることはわかっています。これは、いくつかの警告で回避できたはずの間違いを示す愚かな例です。この機能が ksh に存在するかどうかはわかりません。存在する場合、どのようにオンにしますか?

4

2 に答える 2

7

コマンド

セット-u

設定されていない変数を展開しようとすると、POSIX sh (1) とその派生物がうなり声を上げます。

例:

$ エコー $foo

$ セット -u
$ エコー $foo
sh: foo: パラメータが設定されていません
于 2008-11-28T11:00:02.123 に答える
0

変数にコンテンツがあるかどうか、つまり '' ではないかどうかを確認し、「変数が空です」などのメッセージを出力できます。

ただし、それでもこのような PEBCAK エラーは修正されません。何も起こらなかったことだけはわかります。

于 2008-11-28T10:48:17.777 に答える