我想检查一个目录是否有文件或不在bash中。 我的代码在这里。如何在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
问题是“〜/ .bash/completion.d”没有文件。 因此,$ d/*被认为是简单的字符串“〜/ .bash/completion.d/*”,而不是作为文件名扩展结果的空字符串。 作为该代码的结果时,bash试图运行
. "~/.bash/completion.d/*"
,当然,它产生错误消息。
任何人都可以帮助我吗?
简而言之,我想知道如何为无效的文件名字符串强制扩展文件名。 – user159087 2009-08-21 09:44:22