2012-05-07 6 views
4

これはおそらく本当にばかげた質問ですが、もし[! -n "$ 1"]は、1つ以上の引数がなければ、意味します...だから、どのように動作するのですか?-nはnumberの省略形ですか? 私はThe Advanced bashプログラミングガイドを読んでいて、使い始めました。見つけようとしましたが、それは "組み込みの"デフォルトパラメータでなければなりません.2番目の質問は、 LinuxのデフォルトパラメータBashの-nの意味

答えて

8

test(別名[)への引数は、 "is not empty"を意味します。 $1が空でないでない場合の例では、あなたは」手段を計上しました。それは[ -z "$1" ];を言うの回り道だ($1が空である)。

あなたはhelp testでより多くを学ぶことができます。

$1、その他($2$3を... )位置パラメータがある。彼らは、スクリプトに引数として渡されたものだか、あなたがしている機能。たとえば、./foo bar bazとしてfooという名前のスクリプトを実行すると、$1 == barにつながる、$2 == baz

+1

bashのマンページにも記載されています。 '/ test'は確かに良いスタートです。 – Aif

+0

@Aifちょうどそこに見ていたありがとう – UNECS

0

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

位置パラメータは、プログラムにコマンドライン引数の内容が含まれている特殊変数($0$9通じ$1)のシリーズです。 $0にはプログラムの名前が含まれ、その他には渡される引数が含まれます。引数が$0以外のプログラムに渡されない場合ここ

、第位置パラメータ($1)がプログラムに渡された場合[ ! -n "$1" ]が「真」に評価は、又は(換言すれば)です。

関連する問題