例如,如果您在主目录中输入ls *
,则会列出所有目录,并在所列目录的名称下方列出其所包含的文件。另一方面,如果您输入echo *
命令,则只会列出目录,而不会列出目录及其所包含的内容。这是为什么呢?
答案1
在两种情况下,*
都会被 shell 扩展。
echo
而不仅仅是打印扩展产生的参数。
ls
检查每个参数是否是目录,如果是,则列出其内容。
例如,如果您在主目录中输入ls *
,则会列出所有目录,并在所列目录的名称下方列出其所包含的文件。另一方面,如果您输入echo *
命令,则只会列出目录,而不会列出目录及其所包含的内容。这是为什么呢?
在两种情况下,*
都会被 shell 扩展。
echo
而不仅仅是打印扩展产生的参数。
ls
检查每个参数是否是目录,如果是,则列出其内容。