WAVE Log
シバン

#!/bin/bash

変数

string="Hellow World" echo $string

配列

array=(aa bb cc) echo ${array[0]}

四則演算

$((値1 + 値2)) $((値1 - 値2)) $((値1 * 値2)) $((値1 / 値2)) $((値1 % 値2))

※ 値は、整数のみ。

クォーテーション

シングルクォーテーションで囲んだ文字列に変数を入れても、変数が展開されず文字列として扱われる。
ダブルクォーテーションを使用した場合は、変数内の値が展開される。

if 文

if [ 条件 ]; then 処理 elif [ 条件 ]; then 処理 else 処理 fi

比較演算子

数値1 -eq 数値2 (等しい)
数値1 -ne 数値2 (等しくない)
数値1 -gt 数値2 (より大きい)
数値1 -ge 数値2 (以上)
数値1 -lt 数値2 (より小さい)
数値1 -le 数値2 (以下)

文字列 (長さが0より大きければ真)
-n 文字列(長さが0より大きければ真)
!文字列 (長さが0であれば真)
-z 文字列(長さが0であれば真)

文字列1 = 文字列2 (等しい)
文字列1 != 文字列2 (異なる)

論理演算子

[ 条件 ] && [ 条件 ] (AND)
[ 条件 ] || [ 条件 ] (OR)
! 条件 (NOT)

for 文

for ((i=1; i<6; i++)) do echo $i done

for file in $(ls) do echo $file done

array=(1 2 3 4 5) for i in ${array[@]} do echo $i done

csvfile=test.csv IFS_BACKUP=$IFS IFS=$'\n' for line in $(cat ${csvfile}) do IFS=',' set -- $line echo $1 echo $2 echo $3 done IFS=$IFS_BACKUP

※ break — ループ処理を途中で終了する。n重ループから一挙に脱出する場合は、break n とする。
※ continue — ループ処理で処理をスキップする。n重ループ中で一挙に先頭から実行を開始するには、continue n とする。

while 文

i=1 while ((i < 6)) do echo $i ((i++)) done

while read line do echo "$line" done < ./list.txt