![如何引用所有文件(包括隐藏文件)?](https://linux22.com/image/78305/%E5%A6%82%E4%BD%95%E5%BC%95%E7%94%A8%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%EF%BC%88%E5%8C%85%E6%8B%AC%E9%9A%90%E8%97%8F%E6%96%87%E4%BB%B6%EF%BC%89%EF%BC%9F%20.png)
我知道*引用了除隐藏文件之外的所有文件,如何.
在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