読者です 読者をやめる 読者になる 読者になる

Linux/UNIXの勉強メモ4 シェルスクリプト練習

 

シェルスクリプト練習

課題:

ログインしたら自動的に/homeにログイン時間が記録されるテキストファイルを作る。 

 

方法)

init.d/にスクリプトファイルを置いて、手動でrc3.d/とかにシンボリックリンク貼る。またはconfigureで自動でシンボリック生成させる。

 

init.d/に、vimでlogindatelogという名前のファイルをつくる(名前が酷いな)。その中にスクリプトを書いていく。

時間を取得するためのコマンドは`date` なので、

 

# vim logindatelog

echo date >> /home/logindatelog/datelog2.txt

これで、ログインするたびにログイン時間をdatelog2.txtに記録していく。

次にシンボリックリンクを貼る。今回はrunlevel3になったときにログイン時間を記録したいので、

 

# ln etc/init.d/logindatelog/  etc/rc3.d/S100logindatelog

これは、logindatelogスクリプトをS100でlogindatelogのシンボリックとしてrc3.dに貼るという作業。

これでrebootしてログインしてみたら/home/logindatelogにログイン時間がプリントされたdatelog.txtが生成される。

Sはstart、Kはstopの意味。今回は起動してログインしたときに始めるスクリプトだからSにする。数字は実行順序。この順番を間違ったりすると必要なスクリプトが実行されなかったりするので、既存のものははじめは触らない方が良い。今回は練習なので適当に一番最後の100にした。。

本当は、すべてのシェルスクリプトの意味を理解して順番を決めた方がいいんだけど・・・今の僕にはまだまだ難しい作業。