使用法メッセージを含むテスト式を探しています。コマンドラインにファイル(例:./file)を入力すると、停止してエラーを表示するスクリプトが必要です。 ./file test を入力するときは、ファイルを実行して file と入力する必要があります。テストを使用してメッセージを表現するのが困難です。これまでこれがあり、私が望むように動作しますが、ファイルを入力するために./fileテストが実際に入力されていることを確認して確認する必要があります。コマンドを正しく入力しないと、エラーが発生して終了します。
if [$# -eq 0 ]
then
echo"error"
exit 1
fi
ベストアンサー1
[
それは命令では[$#
ありません。コマンドと引数を分離する必要があります。
if [ $# -eq 0 ]; then
echo "error" # Here, too
exit 1
fi
ただし、ブロック全体を特別なパラメータ拡張で置き換えることができます。
: ${1?error}
最初の位置引数が設定されていない場合(つまり、位置引数がない場合)?後ろにメッセージが印刷されます。そして出てください。