Bashでコマンドが成功したことを確認してください。

Bashでコマンドが成功したことを確認してください。

私は現在、多くのフロッピーディスクをバックアップし、後で使用するためにフォーマットするための小さなスクリプトを書いています。

ddディスクのコピーとcpディスク上のすべてのファイルのコピーに使用するイメージです。

これを実行するために使用するコマンドは次のとおりです。

# Copying disk image
dd if="/dev/fd0" of="/path/to/backup/folder" &>/dev/null && sync

# Copying disk files
cp -R "/mnt/floppy/." "/path/to/backup/folder/" &>/dev/null

このプロセスが完了すると、スクリプトはフロッピーディスクをフォーマットする必要があります。私の問題は、両方のバックアップコマンド(ddおよび)が成功したcp場合にのみ、スクリプトがフロッピーをフォーマットできるようにすることです。

たとえば、dd不良ブロックが原因でフロッピーディスクの1.44 MBをコピーできない場合は、フロッピーディスクをフォーマットしないでください。

これらの2つのコマンドが成功したかどうかをテストします(ディスクのイメージとファイルを常にバックアップしていないため、別々にテストする必要があります)。

ベストアンサー1

bashを使用しているので、以下を追加します。

set -e

スクリプトの先頭では、コマンドが失敗するたびにスクリプトが失敗します。

おすすめ記事