shell script tips


文字列操作(文字のフォーマットを指定) yr2=`expr $yr1 + 1`
yr2=$(printf "%03d" $yr2)
シェル変数に数値を代入 var2=`wc tmp | awk '{print int($1*0.1)+1}' `
シェルスクリプトで小数を計算 #!/bin/bash
i=1.5
echo "scale=7 ; "$i" * 4.25" | bc

シェル変数に代入するには, echoと組み合わせて
#!/bin/bash
i=1.5
j=`echo "scale=7 ; "$i" * 4.25" | bc`
echo $j
とします。
毎日, 何らかのアクションを自動実行するスクリプト crontab
設定ファイルの例 (my_crontab.txt)
### min hour - - - ###
LANG=C
5 6 * * * cd /hoge/work ; echo "hoge" > hoge.txt
10 6 * * * cd /home/gmt/psxy -J -R .... > test.eps
crontabの有効化 $ crontab my_crontab.txt
crontabの無効化 は my_crontab.txtを実質空にする
crontab状況表示 crontab -l
注意点としては、crontabが実行される際には.bashrcなどの設定がない状態から始まるので、単にpsxyだとnot foundとなりますから上の場合は絶対パスを指定します。
crontabでなくsleepを使うのもありかもしれませんが。
sort関連 ディスク容量のチェックには,
du -hm | sort -n > tmp.txt
とすると, 容量順に並べてくれます。また、全ユーザーのプロセスをメモリ順に表示する場合, sortの-kオプションを使って,
ps -F a | sort -n -k6
などとします。-kの値はマシンによって異なります。
back