我正在尝试编写一个脚本,如果它在目录中找到超过 5 天的 .trc 文件,则会回显“成功”。但是,即使我的目录存在,我也收到 full_path_trace': No such file or directory 错误。我不知道我做错了什么。
full_path_trace='/u01/app/oracle/myfolder/trace'
if [[ -n $(find "full_path_trace" -name "*.trc" -mtime +5) ]]
then
echo "success!"
else
echo "fail"
fi
答案1
$
您缺少变量前面的a 。在这里,我会这样做:
if find "$full_path_trace" -name '*.trc' -mtime +5 -print -quit |
grep -q '^'; then
echo 'Success!'
else
echo >&2 fail
fi
-quit
如果您find
不支持,请删除。
grep -q
一旦在输入中找到一行就返回 true。
-quit
将导致find
在第一个匹配项时退出并停止搜索更多匹配项。如果没有-quit
,grep
将在读取第一行后退出,并且find
如果还有很多其他文件,最终会导致提前退出。