Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【シェルスクリプト】よく使うテンプレ的な何か

(元記事 2012/01/01)

 

シェルスクリプトの書き出し

#!/bin/sh

以後、shスクリプトでよく使うものににいてまとめる(テンプレ)


シェル変数の定義

スペースを空けないことに注意

hoge=HOOOOOOGEEEEEE

 

for文

for [変数] in [リスト]
do
[繰り返し内容]
done

;を使って1行で書くことも可能。

for i in 1 2 3 4; do echo "$i"; done

 

他にもC言語ライクな書き方もできる。ただし1行目の括弧は2つ必要なことに注意

 

for*1
do
echo "$i"
done

 

while文

while [条件]
do
[繰り返し実行されるコマンド]
done

 

一定回数のループ処理

i=0
while test $i -lt 5
do
 echo $i
 i=`expr $i + 1`
done


これは
i=0, 1, 2, 3, 4
で合計5回実行される


リスト処理

事前にLIST=`ls *.txt`などとしておいて$varsの代わりに、$LISTと書いてもおk

vars="x y z"
for var in $vars; do
 echo $var
done

 

行単位の処理

while read line; do
 echo $line
done < file.txt

他にも書こうと思ってたんですが、ここで力尽きました・・・

 

 

 

*1:i=1 ; i < 11 ; i++