12月 122019
 

bashにて、ifを使ってOR,OR,ORもしくはelif,elif,elif..ってかっこ悪いじゃないですか。
値の比較に複数の条件がある場合、配列を使って比較する方がめちゃんこかっこいいしスマートだと思うんだ(自論)。

で、シェルスクリプトを作ることからしばらく離れていると忘れちゃうしさくっと検索して優良サイトが出てくるわけでもないので、bashでの配列操作について私が必要だと思うところだけをメモとして残そうと思うけど、いいかい?(/・ω・)/

bashでの配列操作

#!/bin/sh

# array(配列)は複数の値を1つの変数に収められる
# 配列の中は半角スペース区切り
array_animal=("dog" "cat" "pig")

# arrayに含まれているものを全部取り出す方法
echo "配列には ${array_animal[@]} が含まれている"

# arrayは、各値に番号が振られる。キーっていう。
for n in {0..2}; do
    echo "配列の $n 番目は:${array_animal[$n]}"
done

# if文で、値を正規表現でヒットさせる方法
animal="dog"
if [[ "dog cat pig" =~ "${animal}" ]]; then
  echo "$animal は含まれています"
fi

# 「$array_animal[@]」が「"dog cat pig"」であることを利用して
# 上記if文のうち「"dog cat pig"」を配列変数を用いて表現した場合
animal="dog"
if [[ ${array_animal[@]} =~ "$animal" ]]; then
  echo "$animal は含まれています"
fi

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ

%d人のブロガーが「いいね」をつけました。