如何引用所有文件(包括隐藏文件)?

如何引用所有文件(包括隐藏文件)?

我知道*引用了除隐藏文件之外的所有文件,如何.在bash中引用名称以a开头的所有文件,包括隐藏文件?

答案1

bash 有一个dotglob选项这使得*包含以下名称开头.

echo *           # let's see some files
shopt -s dotglob # enable dotglob
echo *           # now with dotfiles
shopt -u dotglob # disable dotglob again
echo *           # back to the beginning

答案2

使用 shell 选项 dotglob:

shopt  -s dotglob
echo *

有关详细信息,请参阅 bash 手册:http://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

答案3

你可以使用大括号扩展并写入{,.}*扩展为* .*并因此包括普通文件和隐藏文件。

答案4

files=($(ls -a))
for file in "${files[@]}"; do
  echo "${file}"
done

相关内容