Database JUNKY

MySQL,MariaDBを中心としたブログです

bashで配列を作成しループする方法

bashで配列を作成しループする方法

いつも忘れてしまうのでメモ・・

配列のテーブルを作成して、それをループさせる方法です。配列ファイルは、別ファイルにさせて、それをインクルードさせる方が便利かもしれません。

f:id:hit10231023:20180308234003p:plain

helthknit ヘルスニット バックル バックパック リュック リュックサック HKB-1063 メンズ レディース ユニセックス カジュアル 鞄 通勤通学 カジュアル 旅行 アウトドア ブラック 黒

★★6/16 現在 なんと!? 498円 契約事務手数料も無料です!★★

#!/bin/bash

_check=()
_check=("${_check[@]}" "val1:_proc_mysql")
_check=("${_check[@]}" "val2:_proc_redis")
_check=("${_check[@]}" "val3:_proc_httpd")
_check=("${_check[@]}" "val4:_proc_nginx")
_check=("${_check[@]}" "val5:_proc_td")

for (( I = 0; I < ${#_check[@]}; ++I ))
do
  _str_proc_name=`echo ${_check[$I]} | awk -F: '{print $1}';`
  _str_proc=`echo ${_check[$I]} | awk -F: '{print $2}';`

done 

exit 0
  • 配列のセパレートは、 ":"  でやってみた
  • awk で分割

まあ、こんなことするんだったら、配列の定義で初めからわけておけばいいじゃんなんだけど・・・。

はじめからカンマ区切りのデータを作って trでセパレートする

そんなに大きくないデータだったらこんなかんじでいいのかも。

str=1234,5678,9012
strnum=( `echo $str | tr -s ',' ' '`)
echo ${strnum[0]}
echo ${strnum[1]}
echo ${strnum[2]}

exit 0