在我的 shell 脚本中,我有以下代码
echo * | tr ' ' '\n'
在这里我注意到虽然我使用 * ,但它正在跳过隐藏文件(。*)之后我尝试了一个明显的改变
echo .* | tr ' ' '\n'
这解决了我的隐藏文件问题。但我只是对 * 的这种奇怪行为感到好奇
因为 .* 是 * 的子
集
echo * -> 所有文件,包括隐藏文件
echo .* -> 所有隐藏文件
echo [^.]* -> 所有非隐藏文件(当前 echo *)
因此 echo * 的行为类似于 echo [^.]*
如何使用 echo 获取整个文件列表,包括隐藏文件。ls 和 dir 的输出类似,尽管 ls -a 给出了理想的输出