回答:
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)は二重引用符で囲まれていますが、単一引用符では囲まれていません。