1. ホーム
  2. bash

[解決済み] シェルのワイルドカード文字展開を停止しますか?

2022-10-31 17:15:44

質問

コンパイルされたコマンドライン プログラムが、bash や csh に対して、パラメータにワイルドカード文字を使用しないように指示する方法はありますか?

例えば、次のようなシェルコマンドを望むかもしれません。

foo *

を使うと、その文字のASCII値を単純に数値で返します。

どのように解決するのですか?

いいえ。拡張は、実際にコマンドを実行する前に行われます。

コマンドを実行する前に、またはスターを引用することによってのみ、グロブを無効にすることができます。

$ # quote it
$ foo '*'

$ # or escape it
$ foo \*

$ # or disable the glob (noglob)
$ set -f
$ foo *

$ # alternative to set -f
$ set -o noglob
$ # undo it by 
$ set +o noglob