ディレクトリ内の5日より古い.trcファイルを見つけたら、「成功」を示すスクリプトを作成しようとしています。しかし、私のディレクトリが存在していても、full_path_trace':No such file orディレクトリエラーが発生します。何が間違っているのかわかりません。
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
他のファイルが多い場合は最終的に早く終了します。