6
A
答えて
9
はい!
$ cat a.sh
echo "[email protected]"
echo [email protected]
のは、それを実行してみましょう:あなたが見ることができるように
$ ./a.sh 2 "3 4" 5
2 3 4 5 # output for "[email protected]"
2 3 4 5 # output for [email protected] -> spaces are lost!
は、[email protected]
使用すると、パラメータとして使用する場合、いくつかのコンテンツを「失う」するためのパラメータになります。これの詳細な説明については、例えば、I just assigned a variable, but echo $variable shows something elseを参照してください。 GNU Bash manual --> 3.4.2 Special Parametersから
:
@
($ @を)1から始めて、位置パラメータに展開されます。 拡張が二重引用符で囲まれた場合、各パラメータは という別の単語に展開されます。つまり、 "$ @"は "$ 1" "$ 2" ...に相当します。 二重引用拡張が単語内で発生する場合、 最初のパラメータの拡張子は元の 語の先頭部分と結合され、最後のパラメータの展開は元の単語の最後の 部分と結合されます。位置パラメータがない場合、 "$ @"と$ @は何も展開しません(つまり、それらは削除されます)。
5
$ @をコマンドに渡すと、すべての引数がコマンドに渡されます。引数に空白が含まれている場合、コマンドはその引数を2つの別個のものとして見ます。
コマンドに "$ @"を渡すと、すべての引数が引用された文字列としてコマンドに渡されます。このコマンドは、空白を含む引数を、空白を含む単一の引数として見ます。
は簡単に一度にループ内のすべての引数を表示する関数、1を書き違いを視覚化するには、次の出力を生成します
<script> "foo bar"
でそのスクリプトを呼び出す
#!/bin/bash
loop_print() {
while [[ $# -gt 0 ]]; do
echo "argument: '$1'"
shift
done
}
echo "#### testing with \[email protected] ####"
loop_print [email protected]
echo "#### testing with \"\[email protected]\" ####"
loop_print "[email protected]"
#### testing with [email protected] ####
argument: 'foo'
argument: 'bar'
#### testing with "[email protected]" ####
argument: 'foo bar'
関連する問題
- 1. winformとWPFのResources.resxとSettings.settingに違いはありますか?
- 2. Rails 3では、=とassign_attributesに違いはありますか?
- 3. PHPでは 'print'と 'echo'に違いはありますか?
- 4. "margin:0 auto;"の間に違いはありますか?と "margin:auto;"
- 5. int&aとint&aに違いはありますか?
- 6. 「セッションシークレット」と「セッションキー」に違いはありますか?
- 7. .IPAと.APKの間にコーディングの違いはありますか?
- 8. "Read-Host -Prompt"と "Read-Host"に違いはありますか?
- 9. RenderPartialとRenderPageに違いはありますか?
- 10. xvfbとxvfb-runに違いはありますか?
- 11. SimGridでsendとdsendに違いはありますか?
- 12. window.localStorageとlocalStorageの間に違いはありますか?
- 13. glClearColor(0.0.0.0,0.0,0.0)とglClear(COLOR_BUFFER_BIT)に違いはありますか?
- 14. gluLookAt()とglFrustum()に違いはありますか?
- 15. IE8とFirefox3のボックスモデルに違いはありますか?
- 16. Context.getTextとContext.getResources.getTextの使用に違いはありますか?
- 17. Lisp: 'nilとnilの間に違いはありますか?
- 18. ツールバー - > setOnMenuItemClickListener()とonOptionsItemSelected()の間に違いはありますか?
- 19. `self.backgroundcolor`と` self.layer.backgroundcolor`の間に違いはありますか?
- 20. AES_128_CBCとAES_128_CBC_SHAアルゴリズムに違いはありますか?
- 21. DB_DOUBLEとdbDoubleに違いはありますか?
- 22. MongoDBに$ lt/$ gtと$ neの違いはありますか?
- 23. vbNullStringと ""の間に違いはありますか?
- 24. f:ajaxとa4j:ajaxの間に違いはありますか?
- 25. INSTR()とCHARINDEX()に違いはありますか?
- 26. 即時に== trueと!= falseの違いはありますか?
- 27. on_exit()関数とatexit()関数に違いはありますか?
- 28. LayoutInflater.from(context)とcontext.getLayoutInflater()の間に違いはありますか?
- 29. 2xと2 * xに違いはありますか?
- 30. React.render()とReactDOM.render()に違いはありますか?
質問は厳密に重複していませんが、そこの回答もこの質問に答えます。 –