回答:
ls "*.txt"
通常のシェルで実行できないのと同じように、サブシェルでも実行できません。あなたが入れた場合*.txt
、引用符で、あなたが作っls
呼ばれる文字通りのファイルを検索*.txt
しますが、これをやるべき時に代わりに:
$ echo $(ls *.txt) # => file.txt otherfile.txt
これを行うより良い方法は、まったく使用ls
しないことです。
$ echo *.txt # => file.txt otherfile.txt
ls
。
ls -l "*.txt"
。または少なくともできる。私は頻繁にそれをしませんが、私がそうするとき、それは通常* .txtを見つけることができなかったことを教えてくれます...
bash
ような類似のシェルzsh
)は、単一引用符と同じではないことに注意してください!たとえば、パラメーター展開($foo
)は二重引用符で囲まれていますが、単一引用符では囲まれていません。