一連のコマンドや、ジョブサブミット等で、*.sh
を使う。何かとbashコマンドが使えるとやっぱり便利なのでbashの文法を勉強したところから順次まとめていく。
参考にさせていただいたサイト: Bashの便利な構文だがよく忘れてしまうものの備忘録 - Qiita
やりたいことから
コマンドcommand
の標準出力を変数に代入する
val=`command`
でcommand
の標準出力を変数val
に代入できる。コマンドを囲んでいるのはバッククォート(日本語キーボードの場合はshift + @)。例えば
val=`ls ./`
echo ${val}
で、PWDでls
を実行した時の結果がval
に代入されていることがわかる。
日付と時刻毎のファイルに出力を書き込む
NOW=`date +'%Y_%m_%d-%H'` #変数NOWに YYYY_MM_DD-HH 形式の時間を変数NOWに代入
LOGFILE="$NOW.log" #日付と時刻.logの文字列を変数LOGFILEに代入
ls ./> ${LOGFILE} #`ls`の出力を変数LOGFILEの名前のファイルに書き込む
文字列の結合
valA="hoge"
とvalB="fugafuga"
を結合したい場合は
valC=${valA}${valB}
で出来る。
valC=${valA}${valB}
echo ${valC}
を実行すればhogefugafuga
が標準出力に表示されるはず。