正しい引数の数(1つの引数)を確認する方法を教えてください。もし誰かが正しい数の引数を渡さずにスクリプトを呼び出そうとすると、コマンドライン引数が実際に存在し、ディレクトリであることを確認することを試みます。正しい引数の数を確認する
答えて
#!/bin/sh
if [ "$#" -ne 1 ] || ! [ -d "$1" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
翻訳:引数の数(数値)1に等しくないか、または最初の引数は、エラー状態コードと標準エラーと出口への出力の使用ディレクトリではない場合。
もっとフレンドリーエラー報告:
#!/bin/sh
if [ "$#" -ne 1 ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
if ! [ -e "$1" ]; then
echo "$1 not found" >&2
exit 1
fi
if ! [ -d "$1" ]; then
echo "$1 not a directory" >&2
exit 1
fi
整数式が抜けているというエラーメッセージが表示される –
あなたはどのシェルを使用していますか? –
@Andrew K:これはどのラインで報告されていますか?それが "if"行ならば、二つの節のうちの一つを切り取って 'if [" $# "-ne 1];そして 'もしあれば! [-d "$ 1"];どの句が問題を引き起こしているのかを確認する。 –
あなたは「$#
」 セイ例えば私のシェルスクリプト名はhello.sh
sh hello.sh hello-world
# I am passing hello-world as argument in command line which will b considered as 1 argument
if [ $# -eq 1 ]
then
echo $1
else
echo "invalid argument please pass only one argument "
fi
出力はhello-world
上記のコードに何か問題がありますか? –
もし私に教えてあげれば...ありがとう@chicks –
Nahはうまく働いている –
猫script.sh
var1=$1
var2=$2
if [ "$#" -eq 2 ]
then
if [ -d $var1 ]
then
echo directory ${var1} exist
else
echo Directory ${var1} Does not exists
fi
if [ -d $var2 ]
then
echo directory ${var2} exist
else
echo Directory ${var2} Does not exists
fi
else
echo "Arguments are not equals to 2"
exit 1
fi
以下のようにそれを実行する - `/ binに/ SHを意味
directory1 exit
directory2 Does not exists
- 1. 引数を確認する
- 2. テンプレートの引数を確認する
- 3. Linuxシェルスクリプティングの引数を確認する
- 4. バッチファイルの引数の数を確認してください
- 5. オプションの複数引数デリゲートメソッドを確認してください。
- 6. C++コマンドライン引数を確認する
- 7. PHPUnitは、正確な引数
- 8. printfの引数の数を確認する
- 9. 引数が数値かどうかを確認する
- 10. SWI-Prolog。数式の正確性を確認する
- 11. ColdFusionで2つの引数を確認しますか?
- 12. エラーが正確に1引数
- 13. 引数bashスクリプトの問題を確認する
- 14. 数字の奇数を確認する
- 15. メソッドの引数が複数のインターフェイスを実装しているかどうかを確認する方法
- 16. ナイトガードの正方形の数を確認する
- 17. MySQLの引数の数が正しくない関数のエラー
- 18. 正または負の数を確認する
- 19. Python関数が引数を変更していないことを確認しますか?
- 20. Kubernetes PODの引数は、しかし、ドッカー引数が正しく
- 21. コマンドライン引数が空であるか否かの確認
- 22. 警告:「#warning 64BIT:書式設定の引数を確認してください」
- 23. VBA数式が正しいかどうかを確認する方法
- 24. 数学結果が正しいかどうかを確認する方法
- 25. ローカル変数がローカル変数と等しいかどうかを確認する正しい方法
- 26. クラスに引数がないかどうかを確認するには
- 27. NSubstitute:配列引数を使って受信したメソッドを確認する
- 28. 関数がJuliaでキーワード引数を持っているかどうか確認してください
- 29. 正規表現で数字入力を確認する - C#
- 30. 正規表現で小数点以下を確認する
@Daniel' shell' -
出力は次のようになります' – Ruel
im in sh –