成功を数えたい処刑されたファイルを削除しましたが消えることはできません。
これが私が持っているものです:
successfulScripts=0
allScripts=0
commandline=$(find . -name "*.sh" -exec '{}' \;)
if [ $commandline -gt 0 ]; then
successfulScripts=$(($successfulScripts+1))
allScripts=$(($allScripts+1))
else
allScripts=$(($allScripts+1))
fi
echo "$successfulScripts out of $allScripts scripts were executed successfully"
スクリプトの内容も見せても構いませんが、軽蔑する方法はないでしょうか?
ベストアンサー1
find
スクリプトから返された値を使用できます。例えば
find . -name "*.sh" -exec '{}' \; -print
スクリプトの実行後に-print
ゼロを返すスクリプトの名前のみが印刷されます。出力はスクリプト出力とインターリーブされるため、スクリプト出力を別の場所にリダイレクトしたい場合があります。一方、最後にクールなサマリーを印刷するには、次のようなものを探しています。
{ find . -name '*.sh' -exec sh -c 'if "$1" >&3; then
echo success; else echo fail; fi' _ {} \; \
| awk '/success/{s++} /fail/{e++}
END {printf "%d successes out of %d\n", s, s + e}
'; } 3>&1