この文書の現在のバージョンと選択したバージョンの差分を表示します。
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
shell_script [2009/08/23 16:36] 10.232.95.26 |
shell_script [2011/08/24 22:41] (現在) isakari |
||
|---|---|---|---|
| ライン 1: | ライン 1: | ||
| - | シェルはたまにしか使わないので、すぐ忘れてしまう。ので、ここにメモすることにする。スクリプトと言うよりも、Unixコマンドの使い方のようなものも、ついでにここにメモすることにする。 | + | シェルはたまにしか使わないので、すぐ忘れてしまう。ので、ここにメモすることにする。[Unix|Linux]コマンドの使い方は[[linux_command]]へ. |
| ====== スクリプトを保存する時,自動的に chmod +x を行う ====== | ====== スクリプトを保存する時,自動的に chmod +x を行う ====== | ||
| ライン 105: | ライン 105: | ||
| </code> | </code> | ||
| e(x)はexp(1)のこと. | e(x)はexp(1)のこと. | ||
| + | |||
| + | ====== ファイルから何かを読み取って変数に代入 ====== | ||
| + | hoge.datが一行からなる情報を持っているとき。 | ||
| + | <code bash> | ||
| + | a=`cat hoge.dat` | ||
| + | </code> | ||
| + | |||
| + | 複数行からなるpiyo.datから一行ごとに読み取りたければreadを使う。 | ||
| + | <code> | ||
| + | cat piyo.dat | while read i | ||
| + | do | ||
| + | a=`echo $i` | ||
| + | (aを使ってなにか作業) | ||
| + | done | ||
| + | </code> | ||
| ====== data file から必要な列だけを取り出す ====== | ====== data file から必要な列だけを取り出す ====== | ||
| ライン 143: | ライン 158: | ||
| a=`expr $a + 1` | a=`expr $a + 1` | ||
| done | done | ||
| + | </code> | ||
| + | |||
| + | ====== 変数を適当に変えてケーススタディー ====== | ||
| + | 周波数omegaを適当に振って計算した例。 | ||
| + | <code bash> | ||
| + | make | ||
| + | for omega in 3.125 3.135 3.145 3.155 6.265 6.275 6.285 6.295 | ||
| + | do | ||
| + | rm -fr output_linc_beta0_w${omega} | ||
| + | echo ${omega} | ./a.out | ||
| + | cp -r output output_linc_beta0_w${omega} | ||
| + | done | ||
| + | </code> | ||
| + | |||
| + | ====== 変数を端末から読み込みたい ====== | ||
| + | readを使う。 | ||
| + | <code bash> | ||
| + | echo "what's your name" | ||
| + | read name | ||
| + | echo your name is $name. | ||
| + | </code> | ||
| + | |||
| + | ====== 3分待ってからプログラムを実行 ====== | ||
| + | sleepを使う。 | ||
| + | <code bash> | ||
| + | sleep 180 && ./a.out | ||
| </code> | </code> | ||