我想在bash中检查目录是否有文件.我的代码在这里.
for d in {,/usr/local}/etc/bash_completion.d ~/.bash/completion.d
do
[ -d "$d" ] && [ -n "${d}/*" ] &&
for f in $d/*; do
[ -f "$f" ] && echo "$f" && . "$f"
done
done
Run Code Online (Sandbox Code Playgroud)
问题是"〜/ .bash/completion.d"没有文件.所以,$ d/*被认为是简单的字符串"〜/ .bash/completion.d/*",而不是空字符串,这是文件名扩展的结果.作为该代码的结果,bash尝试运行
. "~/.bash/completion.d/*"
Run Code Online (Sandbox Code Playgroud)
当然,它会生成错误消息.
有谁能够帮我?