シェルスクリプト練習問題(中級編)の正解例と解説

こちらのシェルスクリプト練習問題(中級編)の正解例と解説をします。
http://g-network.boo.jp/wiki/2018/02/post-909/ 
 

①空のディレクトリ削除シェル

シェル名 shell_chukyu_01.sh
処理内容 引数で指定したディレクトリを再帰的にチェックして空のディレクトリを削除する。引数を指定しなかった場合はカレントディレクトリを対象にすること。空のディレクトリを発見したら、それぞれ削除するかしないかを問い合わせるようにすること。

【正解例】

【解説】
DIR=${1:-“./”}
これは $1が空でなければ$1をDIRに代入し、空だった場合は初期値として ./ をDIRに代入している。
 
done < <(find ${DIR} -type d -empty)
メイン処理のwhile文はfindコマンドの結果を受け取ってループ処理を実施している。このやり方はbashじゃないとできないので注意。bash以外であればパイプを使ってwhile文にfindの結果を渡すやり方で同じ処理ができる。
 
 

②じゃんけんゲーム

シェル名 shell_chukyu_02.sh
処理内容 じゃんけんゲームを作成して下さい。コンピュータ側の手はランダムで決定され、プレイヤー側の手はシェル実行後に対話式で入力を求める仕様として下さい。ルールは先に2回勝った方が勝利とする。

【正解例と解説】
↓ こちらのページを参照
http://g-network.boo.jp/wiki/2018/02/post-904/ 
 

③カウントダウンのシェル

シェル名 shell_chukyu_03.sh
処理内容 引数にカウントする秒数を与えて、1秒ずつカウントダウンするシェル。ただし標準出力に1秒に1行ずつ出力が増えていくやり方ではなく、watchコマンドで画面をリアルタイム更新させる仕様とする。
(さらにもう一歩挑戦したい人は、引数にYYYYMMDDHHMMSS形式で日時を指定して、その日時までをカウントダウンする仕様を組み込む)

【正解例と解説】
↓ こちらのページを参照
http://g-network.boo.jp/wiki/2018/01/post-940/ 
 
 
次は練習問題(上級編)にチャレンジ!!
http://g-network.boo.jp/wiki/2018/02/post-912/ 

スポンサーリンク
勉強wikiの下部広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
勉強wikiの下部広告

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA