goo blog サービス終了のお知らせ 
goo

bash $*と$@の違い

$*

シェルの予約変数IFSに値をセットしておくと、区切り文字を変更することができます。この場合はダブルクオーテーション(")で囲む必要があります。例えば以下のように使用できます。


$ IFS=:
$ echo "$*"
a:b:c:d

$@

上記「$*」とほとんど同じですが、予約変数「IFS」の影響は受けません。つねに区切り文字は空白です。

上記「@」と「*」は上記で紹介したbash version2.0 の機能である配列変数にも応用できます。
$ IFS=:
$ array=(a b c d)
$ echo "${array[*]}"
a:b:c:d

$ echo "${array[@]}
a b c d
コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« bash screenを... mysql パスワ... »
 
コメント(10/1 コメント投稿終了予定)
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。