誰でもbashスクリプトで $ * の意味を教えていただけますか?
$ *
私はgoogleでそれを検索しようとしましたが、 $ 0 、 $ 1 などしか見つかりませんでした。
$ 0
$ 1
だから、もしこのためのリンクがあれば、大歓迎です。
ありがとう!
man ページから:
man
* 1から始まる定位置パラメーターに展開します。展開が二重引用符で囲まれると、展開された単一引用符 IFS特殊変数の最初の文字で区切られた各パラメータの値を持つ単語。つまり、 " $ * "は同等です " $ 1 c $ 2 c ..."に変更します.cはIFS変数の値の最初の文字です。 IFSが設定されていない場合、パラメータは分離されます スペースで区切ります。 IFSがヌルの場合、パラメータはセパレータを介さずに結合されます。
*
$ 2
したがって、それは引用符で囲まれているかどうかによって少し異なるセマンティクスを持つ、すべての位置パラメータと同等です。
このページを見る:
http://tldp.org/LDP/abs/html/internalvariables.html#IFSEMPTY
$ IFSが空の場合の$ *と$ @の動作は、 +実行中のBashまたはshバージョン。 したがって、この「機能」をスクリプトに依存することはお勧めできません。
コマンドラインでスクリプトに与えられた引数リスト$ 0がスクリプト名になります。
symbolhound検索エンジンを使用して、Googleが検索しないコードを見つけることができます。
For your query click here
これは、単語ごとに分割する以外は、スクリプトに渡されるすべての引数です。ほとんどの場合、 "$ @" を使用することがほとんどです。そして、それはすべて bash(1)のマニュアルページにあります。
"$ @"
bash(1)
スペースで区切られたすべての引数の文字列です。たとえば、 $ 1 が "hello"で、 $ 2 が "world"の場合、 $ * は "hello world"です。 ($ IFSが設定されていなければ、それは$ IFSで区切られた文字列です。)
接頭辞の中に $ があれば、その変数を意味します。変数の値が使用されます。
$
例:
count=100 echo $count echo "Count Value = $count"
上記のスクリプトの出力:
100 Count Value = 100