3 ms·
$ ls -l "*" ls: cannot access *: No such file or directory Of course, you might want that exact behaviour, but sometimes you want e.g. all .table files in a
by claudius 13y ago
$ ls -l "*"
ls: cannot access *: No such file or directory
Of course, you might want that exact behaviour, but sometimes you want e.g. all .table files in a path with a space. I believe
$ ls -l "path with/lots of spaces/"*
is the correct solution, but it seems silly. I'm not entirely sure why variable expansion works inside double quotes but wildcard expansion doesn’t.
- elwin 13y ago> I'm not entirely sure why variable expansion works inside double quotes but wildcard expansion doesn’t. That's because a double-quoted expression is supposed to evaluate to a single word. Wildcard expansion can result in multiple words, but parameter expansion doesn't. (Except for things like "$@". With bash, the rules always have exceptions.)
- claudius 13y agoTIL. Thank you very much! :)