1. ホーム
  2. bash

[解決済み] Bashシェルスクリプトの入力引数の存在確認

2022-03-19 15:48:20

質問

入力引数の存在を確認したい。次のようなスクリプトがあります。

if [ "$1" -gt "-1" ]
  then echo hi
fi

私は

[: : integer expression expected

入力されたargument1が存在するかどうか、最初に確認するにはどうしたらよいでしょうか。

どのように解決するのですか?

それは

if [ $# -eq 0 ]
  then
    echo "No arguments supplied"
fi

$# 変数には、スクリプトに渡された入力引数の数が表示されます。

また、引数が空文字列かどうかのチェックもできます。

if [ -z "$1" ]
  then
    echo "No argument supplied"
fi

-z の展開が正しいかどうかをテストします。 "$1" がヌル文字列であるかどうか。もしヌル文字列であれば、ボディが実行されます。