0
A
答えて
5
"[email protected]"
は、引用符で囲まれたコマンドラインパラメータのリストに展開されます。それは、"$*"
から微妙に異なっている:
set "a b" c d
"$*"
所与
"a b c d"
に展開"[email protected]"
が
"a b" c d
及び$*
(又は[email protected]
)展開に展開に対し
「$*"
は単一の文字列を生成しますが、"[email protected]"
は元の引用を複製し、$*
は引用を失います。
1
man bash
から:
@位置パラメータに展開されます。展開が二重引用符で囲まれると、各パラメータは別の単語に展開されます。つまり、 "$ @"は "$ 1" "$ 2"に相当します...単語内で二重引用符で囲まれた展開が行われると、最初のパラメータの展開が元の単語の先頭部分と結合され、展開最後のパラメータの最後の部分が元の単語の最後の部分と結合されます。
2
すべての位置パラメータは、二重引用符で囲まれています。 http://tldp.org/LDP/abs/html/internalvariables.html#APPREF
1
$ @は、スクリプトに渡されるすべての引数を表します。
あなたは、このようにfoo.shというスクリプトを呼び出す場合:[email protected]
が空で、[email protected]
がないときに
> boo goo loo
0
:このなります @の出力$
$> foo.sh boo goo loo
を空の文字列に展開します。それは完全に取り除かれます。だからあなたのテストではありません。
[ -n "" ]
ではなく、むしろ:今
[ -n ]
-n
は、オペレータが、いつものように、真のテストだけで非空の文字列、ではありません。
関連する問題
- 1. EOFとは何ですか? bashスクリプトで?
- 2. bashスクリプトの[...]とは何ですか?
- 3. dockerfileのRUNスクリプトとbashスクリプトの違いは何ですか?
- 4. 「$?」とは何ですか? bashスクリプトの意味ですか?
- 5. bashスクリプトで$ {VAR:-...}と$ {VAR:?...}の違いは何ですか?
- 6. "。[スクリプト]"または "ソース[スクリプト]"、 "bash [スクリプト]または$ SHELL [スクリプト]"、 "./ [スクリプト]"または "[スクリプト]"の違いは何ですか?
- 7. このbashスクリプト関数は何ですか
- 8. bash -sとは何ですか?
- 9. bashの$ {variable //、/}とは何ですか?
- 10. WindowsのGIT bashとは何ですか?
- 11. Pythonスクリプトで%{__ python34}とは何ですか?
- 12. bashで "-bash"とは何を意味していますか?
- 13. ヘルパークラスとスクリプトとは何ですか?
- 14. bashスクリプトでオートコンプリート
- 15. bashスクリプトからbashスクリプトをcronjobとして起動する
- 16. 条件はbashスクリプトでたとえば
- 17. ROBLOX Luaスクリプトとは何ですか?
- 18. bashまたはzshで "$ - "とは何ですか?
- 19. 何らかの理由でmysqlコマンド出力をbashスクリプト
- 20. Bashスクリプトとエスケープ
- 21. Bash初心者です。 bashスクリプト
- 22. 与えられたbashスクリプトは何をしますか?
- 23. unix bashスクリプト[-a]は何を意味していますか?
- 24. このbashスクリプトの各行は何をしますか?
- 25. bashパラメータの[ - ]は何ですか?
- 26. チェック値bashスクリプトで
- 27. この行はbashスクリプトで何を意味していますか?
- 28. Powershell関数スクリプトは何ですか:functionnameは何ですか?特にスクリプト:part
- 29. 別のbashスクリプトでbashスクリプトを作成するにはどうすればいいですか?
- 30. bashスクリプトと別名
[unix shell programming special variables](http://stackoverflow.com/questions/3206312/unix-shell-programming-special-variables)を参照してください。 –