シェルの練習
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.com
Hint
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" >> access
OSによって
\
(スラッシュ)をエスケープする方法が違います。うまくいく方を使いましょう。
- 作ったファイルを試しに実行してみましょう。
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 access
Git 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
をコメントシートでアップロードしてください。