bashスクリプトの$ *

誰でもbashスクリプトで $ * の意味を教えていただけますか?

私はgoogleでそれを検索しようとしましたが、 $ 0 $ 1 などしか見つかりませんでした。

だから、もしこのためのリンクがあれば、大歓迎です。

ありがとう!

6

7 答え

man ページから:

* 1から始まる定位置パラメーターに展開します。展開が二重引用符で囲まれると、展開された単一引用符                 IFS特殊変数の最初の文字で区切られた各パラメータの値を持つ単語。つまり、 " $ * "は同等です                 " $ 1 c $ 2 c ..."に変更します.cはIFS変数の値の最初の文字です。 IFSが設定されていない場合、パラメータは分離されます                 スペースで区切ります。 IFSがヌルの場合、パラメータはセパレータを介さずに結合されます。

したがって、それは引用符で囲まれているかどうかによって少し異なるセマンティクスを持つ、すべての位置パラメータと同等です。

8
追加された

このページを見る:

http://tldp.org/LDP/abs/html/internalvariables.html#IFSEMPTY

$ IFSが空の場合の$ *と$ @の動作は、   +実行中のBashまたはshバージョン。   したがって、この「機能」をスクリプトに依存することはお勧めできません。

4
追加された

コマンドラインでスクリプトに与えられた引数リスト$ 0がスクリプト名になります。

3
追加された

symbolhound検索エンジンを使用して、Googleが検索しないコードを見つけることができます。

For your query click here

3
追加された
ありがとうございました。それは私のために非常に役立ちます!
追加された 著者 artaxerxe,

これは、単語ごとに分割する以外は、スクリプトに渡されるすべての引数です。ほとんどの場合、 "$ @" を使用することがほとんどです。そして、それはすべて bash(1)のマニュアルページにあります。

3
追加された

スペースで区切られたすべての引数の文字列です。たとえば、 $ 1 が "hello"で、 $ 2 が "world"の場合、 $ * は "hello world"です。 ($ IFSが設定されていなければ、それは$ IFSで区切られた文字列です。)

1
追加された

接頭辞の中に $ があれば、その変数を意味します。変数の値が使用されます。

例:

count=100
echo $count
echo "Count Value = $count"

上記のスクリプトの出力:

100
Count Value = 100
0
追加された
声明は正しいが、質問は「$ *とは何か?
追加された 著者 maninvan,