CTYPE html PUBLIC "-//W3C//DTD XhTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
名前 : 中坊孝司
担当情報実験機 : joho05
http://itpass.scitec.kobe-u.ac.jp/~tyubo/report01/script/quiz1.sh.txt
・コマンド ./quiz1.shを実行してください ・スクリプト内に cd が入っているので必ずホームディレクトリで実行してください ・一つ目のdirectory?で移動させたいファイルの入っているディレクトリを指定 ・二つ目のdirectory?で転送先のディレクトリを指定 ・最初に指定したディレクトリに入っているファイルのモードが変更されます ・後に指定したディレクトリにファイルはすべて移動しています ・結果はquiz1.txtに出力されています ・最後にどのディレクトリからどのディレクトリに移動したかを表示 ・移動先の ls -l がコマンドに入っているのでそこで正しく変化したか確認できます
・itpassのスクリプト解説ページ https://itpass.scitec.kobe-u.ac.jp/~itpass/hiki/hiki.cgi?%5BExp2010%5D%A5%B7%A5%A7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8 ⇒case for do 等の基本的なコマンドについて参考にしました。
・金藤さん case の使い方を参考にさせてもらいました。 ・松倉匡司 for の使い方を参考にさせてもらいました。
・自分がどのディレクトリにいて、コマンド実行中にどこに移動しているかを常に意識するようにしました。 ・出力内容にどのディレクトリからどのディレクトリに移動したかを示しました。
http://itpass.scitec.kobe-u.ac.jp/~tyubo/report01/script/quiz2.sh.txt
・./quiz2.shを実行してください ・month?と表示されたら引き数として”何月”かを入力してください。 ・year?と表示されたら引き数として”何年”かを入力してください。 ・後は自動的に計算が行われ、指定した年,月のカレンダーが表示されます。 ・計算結果はquiz2.txtに出力されます。
http://itpass.scitec.kobe-u.ac.jp/~tyubo/report01/result/quiz2.txt
・UNIX & Linux コマンド・シェルスクリプト リファレンス http://www.geocities.jp/geo_sunisland/index.html ⇒printfによる出力方法の指定の仕方で非常に参考になりました。改行の仕方はここで見つけました。 ・itpassのスクリプト解説ページ https://itpass.scitec.kobe-u.ac.jp/~itpass/hiki/hiki.cgi?%5BExp2010%5D%A5%B7%A5%A7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8 ⇒case for do 等の基本的なコマンドについて参考にしました。
・ややこしくならないように曜日だけまずprintfで表示しました。 ⇒ printf "%3s %3s %3s %3s %3s %3s %3s" 日 月 火 水 木 金 土 ・単純化するため最初に年と月から、”その月が何日ある月か”を計算し、後に引き数として代入する方法をとりました。 ・月の初めの一週間だけは、ツェラーの公式の解によって開始する曜日が変わってくるので0~6まで場合分けをしました。 これはそれぞれ初日が該当する曜日までスペースを空けて、ちょうどその曜日から表示されるようにしました。 例)h=1の場合。これは月曜日から開始するので、最初の数値は月曜の下に表示されるようにprintfの条件を工夫 ⇒ printf "%5d %2d %2d %2d %2d %2d" 1 2 3 4 5 6 ・最初の一週間以外は7で割った余りの数値ごとで曜日を指定し、printfで出力。ただし最終週の場合だけ別途で指定しないと表示されなかったので ifで条件を指定し表示させるように指定。 ・最終的に力技で、数字を7個で改行しながら連続表示させるという方法をとった。これはツェラーの公式の解に依存しない手法なので、 解を利用すればもっと単純化できるかもしれないと思いました。