シバン

#!/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 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

問答形式

read -p "Press any key: " DATA echo "Entered key: $DATA"


read -p "Value ? [100]: " DATA echo "Value: ${DATA:-100}"


while read -p "Registration?[Y/n]: " yn do case $yn in "" | [Yy]* ) echo "Complete!" break;; [Nn]* ) echo "Cancel!" exit;; * ) echo "Please answer yes or no.";; esac done

コメントアウト

# コメント または <<'#_COMMENT_OUT_' コメント #_COMMENT_OUT_

※「#_COMMENT_OUT_」は任意の文字列


- guitar site WAVE -