並列プロセスを理解するのは困難です。 Atmハードドライブを一括削除しようとしてスクリプトを作成しましたが、並行して実行されません。
for i in "${!wipe[@]}"; do
dd if=/dev/zero of=/dev/${wipe[$i]} &
wait
ddはディスクをゼロに設定しますが、これを順番に実行するため、8つのディスクに対して実行すると時間がかかることがあります。ありがとう
ベストアンサー1
done
forループがないため、スクリプトはまったく実行しないでください。これは確かに抜粋された内容であり、重要な部分が欠落しています。
欠落がdone
フラグメントの後に発生すると仮定すると、待機はforループ内にあるため、dd
バックグラウンドで開始してから次の反復にwait
進む前に完了します。
デフォルトでは、インデントは表示されたコードと一致しません。これはPythonではありません。 Pythonとは異なり、bashはインデントを無視します。インデントが欲しいと確信していますが、done
待つ前にインデントがなければ意味がありません。