13

これはおそらく本当にばかげた質問ですが...もし[!-n "$ 1"]は、引数が1つ以下の場合、それがどのように機能するかを理解できることを意味しますが-n、数値の省略形は何ですか?

私はAdvancedBashプログラミングガイドを読んでいて、彼らはそれを使い始めたばかりです。私はそれを見つけようとしましたが、それは「組み込み」のデフォルトパラメータでなければなりません。Linuxでデフォルトのパラメータを表示するコマンドはありますか?

4

2 に答える 2

21

(aka )の-n引数は、 「空ではない」という意味です。あなたが投稿した例は、「空でない場合。それは(空である)という回り道です。test[$1[ -z "$1" ];$1

で詳細を学ぶことができますhelp test

$1その他($2$3..)は位置パラメータです。これらは、現在のスクリプトまたは関数に引数として渡されたものです。たとえば、次のような名前のスクリプトを実行fooする./foo bar baz$1 == bar$2 == baz

于 2012-05-07T01:05:32.447 に答える
2

-nBashの式を評価するための文字列演算子の1つです。隣の文字列をテストし、文字が空でない場合は「True」と評価します。

位置パラメーターは、プログラムへのコマンドライン引数の内容を含む一連の特殊変数($0$1から)です。プログラムの名前が含まれ、その他には渡される引数が含まれます。$9$0

ここで、プログラムに渡される2番目の定位置パラメーター()がの場合、または(つまり)。以外の引数がプログラムに渡されない[ ! -n "$1" ]場合、「True」と評価されます。$1$0

于 2017-12-28T13:22:50.090 に答える