shell scriptメモ


算術

  • $(()) で囲うと算術演算が可能
a=10
echo $((a*2)) # 結果: 20
b=$((a*2))
echo $b # 結果: 40
echo $((b+10)) # 結果: 50

ゼロ埋め

  • 算術演算をしたら、次はゼロ埋めして表示したくなる。 printf が使用可能
a=5
printf %03d $a # 結果: 005
  • $(printf) とすれば、結果を変数に格納できる。
a=5
b=$(printf %03d $a)
echo $b # 結果: 005

文字列からの切り出し

  • ゼロ埋めは分かったが、今度は文字列から切り出したい。 ${パラメータ:オフセット:長さ} と切り出せる。
value=aiueo
echo ${value:1:3} # 結果: iue

# 変数に格納
v2=${value:2:2}
echo $v2 # 結果: ue