Odpowiedzi:
W ten sam sposób, w jaki nie można uruchomić ls "*.txt"w normalnej powłoce, nie można również uruchomić go w podpowłoce. Kiedy wpisujesz *.txtcudzysłowy, lsszukałeś dosłownego pliku o nazwie, *.txtkiedy zamiast tego powinieneś to zrobić:
$ echo $(ls *.txt) # => file.txt otherfile.txt
Lepszym sposobem na to jest wcale ls.
$ echo *.txt # => file.txt otherfile.txt
ls.
ls -l "*.txt". A przynajmniej mogę. Robię to nie często, ale kiedy to robię, zwykle mówi mi, że nie można znaleźć * .txt ...
bashi podobne powłokizsh) nie są takie same jak pojedyncze cudzysłowy! Na przykład interpretacja parametrów ($foo) jest wykonywana w cudzysłowach, ale nie w pojedynczych cudzysłowach.