シェルの設定ファイル
環境変数などをログイン時に自動的に読み込むように、いくつかのファイルを設定することが出来る。
ログイン時の動作
- シェルは、/etc/profileを読み込む
- シェルは、~/.bash_profileを読み込む
/.bash_profileがないとき、~/.bash_loginを読み込む。これもなければ、~/.profileを読み込む。
- /etc/profile
- 全てのユーザに共通の設定を記述する場合に使うのが一般的。
/.bash_profile
- 各ユーザーごとに読み込む設定を書くのに使う。
シェルの書き方メモ
- 「;」(セミコロン)・・・コマンドを連続実行できる
- while構文
while 条件 do 繰り返し実行するコマンド done
while 条件 do 繰り返し実行するコマンド done //1行で。
サンプル
[サンプル1]
指定した回数LOOPCOUNT分繰り返し、1回実行するごとにINTERVAL秒スリープするシェルスクリプト。
第1引数にはプロセスIDを指定し、プロセスに対して何らかの処理を行います(ここでは省略)。
実行方法: . sample1.sh {PROCESSID} {INTERVAL} {LOOPCOUNT}
sample1.sh
if [ $# -ne 3 ]; then echo "引数が間違っています" echo "usage: sample1.sh {PROCESSID} {INTERVAL} {LOOPCOUNT}" else echo "######################" echo "PROCESSID: $1" echo "INTERVAL : $2" echo "LOOPCOUNT: $3" echo "######################" loopcount=0 while [ ${loopcount} -lt $3 ]; do let loopcount=loopcount+1 timestamp=`date +%k:%M:%S` echo "COUNT=${loopcount}, ${timestamp}" 何らかの処理 $1 sleep $2 done fi
実行例: > . sample1.sh 2308 5 3
実行結果:
######################
PROCESSID: 2308
INTERVAL : 5
LOOPCOUNT: 3
######################
COUNT=1, 10:10:05
COUNT=2, 10:10:10
COUNT=3, 10:10:15