ITPASS 実習レポート1 (シェルスクリプト課題)
名前:高田和佳
担当情報実験機: joho07
問1
スクリプトのURL
quiz1のスクリプト:quiz1.sh.txt
スクリプトの使い方と解説
��./quiz1.sh $1 を実行する。
※ $1には作成したいhtmlファイル名を入力する (例)quiz1.html
�∪言�するhtmlのタイトル、作成者名、項目数を順に入力する。
※項目数は半角で入力する
�F�力後lsコマンドを入力する
カレントディレクトリに$1で入力したhtmlファイルの存在が確認できる。
実行例・実行結果へのリンク
実行例:quiz1.txt
(ファイル名をquiz1.html、タイトルをITPASS report、著者をTAKADA、項目数を5とした場合
実行結果:quiz1.html
参考資料
bashで始めるシェルスクリプトの基礎の基礎
UNIX&Linux コマンド・シェルスクリプトリファレンス
共同作業した人の名前
坂廼邉くんに引数のhtmlに実行結果を書き込む際の処理の仕方を教えてもらいました。
工夫したこと・感想
- 最初どのようにhtmlに書き込めばいいかわからず、聞いたところ教えてもらうことができ解決しました。
- dateの処理などで記号が変わってくるのでエラーが出てやり直しました。
- 項目数の処理で、きっと自分が行った方法以外のものでもできるのでしょうがあまりパターンが思いつかなかったです。
問 2
スクリプトの URL
quiz2のスクリプト:quiz2.sh.txt
スクリプトの使い方の解説
��./quiz2.sh $1 を実行する。
※ $1は4桁の半角数字を入力する (例)1234
��計算し、10になる式が表示される。
※ 4桁以外の数字を入力するとエラーメッセージが表示されるので再入力する。
※ 計算して10を作れなかった場合はその旨が表示されるので再入力する。
実行結果へのリンク
実行結果:quiz2.txt
※4桁の数字を1357にした場合
参考資料
bash(var 2)例文辞典
- 桁数を数える方法、配列変数を一度で入力する方法などコマンドの応用について調べました。
M.Hiroi's Home Page
- パズルの解法(Four Four's)で演算子を変数に入れて計算する方法を参考にしました。
IT PRO シェル・スクリプト・リファレンス
- exprの計算で*を使うとき*の前に、()を使うときに()のそれぞれ前にバックスラッシュがいることを調べました。
清水くんのレポート
- 当初999<引数<10000とすれば4桁以外の時にエラーを表示出来ると思っていたのですが,それでは間違いだということに気づかされました。
共同作業した人の名前
特になし
工夫したこと, 感想
- 4桁以外にエラーを表示させるところから時間がかかり、思いついた方法も結局間違いだったことを後から知りました。
- 4桁バラバラに表示するところも、なんとか考えてみたのですが一文が長くなってしまいました。
- どうにか演算以降、どうにかスクリプトをを短くできないかと考え、計算式の変数を全部打たなくてもひとまとめに代入することで短く工夫できました。
- exprを使うときにかけ算だけがどうしてもうまくいかなくて調べたところ、\を付けることを知りました。その点がわかってから式をサクサク書くことができました。
- 10が出来なかった場合でもtxtにもその旨を表示させるように工夫をしました。
�
全体を通して
逐一調べたり、悩んだ部分がかなり多かったので大分手こずり時間がかかってしまいました。
quiz2を終わらして、mvで移動させるつもりがrmを打ってしまい、スクリプトを消去するというミスをやらかしました。
最後の確認でtxtをcatするつもりが間違ってスクリプトを表示させており、そのミスのおかげ?でやり直しは逃れました。
頑張った苦労が一瞬で消えるのは本当に辛いので今後このようなミスは絶対にないようにしたいと思います。