1

スクリプトがあります。引数を取りますが、文字列 " *" を受け取ったときに、リスト変数内の一致する文字列にオートコンプリートするようにしたいと思います。

残念ながら、アスタリスクをエスケープするためにバックスラッシュを使用してワイルドカードをエスケープしない限り、これは不可能です。

foo.py ba\*  # Will expand to "bar"

そうしないと、作業ディレクトリ内のファイルに bash が展開され、スクリプトに渡されます。

アスタリスクを自動的に展開せず、スクリプトに渡すだけにbashに指示するには何が必要ですか。多分インストールスクリプト?

4

2 に答える 2

5
set -o noglob

は、bash が を展開するのを防ぎ*ます。

で削除set +o noglob

于 2013-04-04T13:33:16.093 に答える
2

次のように呼び出すだけで、bash でエスケープできます。

foo.py 'ba*'
于 2013-04-04T13:34:01.610 に答える