GNU/Linux >> Linux の 問題 >  >> Linux

引用の中のワイルドカード?

これは簡単なことですが、私の記憶では、シェルスクリプトを作成するときに、二重引用符を使用すると、グロブと変数を拡張できます。

しかし、次のコードでは:

#!/bin/sh

echo *.sh
echo "*.sh"
echo '*.sh'

echo $LANG
echo "$LANG"
echo '$LANG'

この結果が得られました:

bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG

したがって、シングルクォートはグロブと変数の拡張を防ぎますが、ダブルクォートは変数の拡張のみを許可し、グロブは許可しませんか?

任意の引用パターンでグロブできますか?

承認された回答:

正解です。グロビングは一重引用符でも二重引用符でも機能しません。ただし、二重引用符で囲まれた文字列を使用してグロビングを補間することはできます。

$ echo "hello world" *.sh "goodbye world"
hello world [list of files] goodbye world

Linux
  1. $ {!foo}そしてZsh?

  2. 一重引用符内の変数内の値を印刷する方法はありませんか?

  3. Kshの引用符の内側のバックティックの内側の引用符?

  1. エコー$は何ですか?行う??

  2. 囲み対変数の値をBashの引用符で囲んでいないのですか?

  3. .bashrcでエクスポートを使用しますか?

  1. チルダ(〜)が二重引用符の内側に展開されないのはなぜですか?

  2. エコーコマンドでフォントを変更しますか?

  3. Linuxエコーコマンド