Prove that the shell, not the command, does the expanding
Prove that the shell, not the command, does the expanding
Answer
echo *.c ls *.c ls "*.c"
echo knows nothing about files, yet prints the three names — so the shell produced them. The quoted third line hands ls a literal one-argument name and gets "No such file or directory" back.
Sarwar & Koretsky 3e ch2 §2.9; ch4 §4.5.2