シェルの練習
homeディレクトリ内に、infovisという新しいディレクトリを作ってください。
Hint
cdとmkdirを使います
Answer
cd ~ mkdir infovis
touchというプログラムについて調べてください。
Hint
--helpまたはmanを使います
Answer
touch --help # or man touch
touchというコマンドを使って、accessというファイルをinfovisディレクトリの中に作成してください。
Answer
cd infovis touch access
- 作ったファイルに下記内容を書き込んでください。
#!/bin/sh
curl --head --silent https://infovis.zhuxinru.comHint
echo、>、>>を使ってみてください。 一行目をどのようにechoに渡せば良いか、調べてみましょう。
Answer
echo "#\!/bin/sh" >> access echo "curl --head --silent https://infovis.zhuxinru.com" >> access # or echo "#"'!'"/bin/sh" >> access echo "curl --head --silent https://infovis.zhuxinru.com" >> accessOSによって
\(スラッシュ)をエスケープする方法が違います。うまくいく方を使いましょう。
- 作ったファイルを試しに実行してみましょう。
Hint
./accessとすると実行できます。
- 実行に失敗したら、ファイルの権限を確認してなぜ失敗したのかを考えてみてください。
Hint
ls -lを使います。
Answer
Git Bashではファイル内の
#!/bin/shで実行可能ファイルかどうかを判定しているので、./accessで実行できるはずです。
shコマンドを使ってaccessを実行してみましょう。
Hint
sh accessを実行します。
Answer
shはコマンドインタプリタなので、ファイルの実行権限の有無に関わらず、与えられたファイルを解釈して実行します。
chmodというプログラムについて調べてください。
Answer
chmod --help # or man chmod
chmodを使ってaccessの権限を変更して、./accessで実行できるようにしてください。
Answer
chmod u+x accessGit Bashではファイル内の
#!/bin/shで実行可能ファイルかどうかを判定しているので、chmod +xもchmod -xも実質的には効果がありません。
|と>を使ってaccessの実行結果からlast modifiedの日付を取り出し、last-modified.txtというファイルに保存してください。
Answer
./access | grep -i last-modified | cut -d " " -f 2-5 > last-modified.txt
last-modified.txtをコメントシートでアップロードしてください。