シェルスクリプトでディスク消去(6)

消去方式を選択した後は、その方式に応じて処理を分岐させる必要があります。分岐処理ではif文を使うのが普通ですが、分岐先が4つあるのでコードが複雑になってしまいます。そこで、もう1つの分岐処理であるcase文を使用します。

これもいろいろなプログラミング言語(すべてではない)に備わっている機能ですが、シェルスクリプトでは以下のような文法となっています。

case 変数 in
条件1) .... ;;
条件2) .... ;;
条件3) .... ;;
....

前回whiptailのラジオリストで選んだ選択肢は変数choiceの中に代入していましたのでこれをcase文の変数の分岐処理で扱います。

case $choice in
"1") shred -v -n 1 /dev/sda #乱数1回書き込み ;;
"2") shred -v -n 0 -z /dev/sda #ゼロ1回書き込み ;;
"3") shred -v -n 1 -z /dev/sda #乱数1回ゼロ1回書き込み ;;
"4") shred -v -n 2 -z /dev/sda #乱数2回ゼロ1回書き込み ;;

消去処理が終了したら、画面に消去終了メッセージを出すようにしましょう。これもwhiptailのmsgboxオプションを使って、

whiptail --ok-button "OK" --msgbox "${hddmodelsn}\n\n 消去終了" 10 50

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です