我正在编写一个shell脚本,并尝试在某些位置搜索所有文件。位置具有变量。像这样:
CONFDIRS = (~/.config/syncer /etc/syncer ~/etc/syncer)
因此,我编写了一个for循环来显示所有可能的文件:
search() { #search for possible configurations
for i in ${CONFDIRS[@]}; do
find $i -type f
done
return 1
}
我的问题是,如果一个目录不存在,则程序退出并出现错误。如果我使用2>/dev/null
,则程序退出时不会出现错误,但程序不应退出。我怎样才能做到这一点?
答案 0 :(得分:1)
如果您使用“定义”变量CONFDIRS
,则未设置
CONFDIRS = (...)
请注意=
周围的空格。只需删除它们。
引用变量也没有什么坏处。写"$i"
而不是$i
。