bashで配列を作成しループする方法
bashで配列を作成しループする方法
いつも忘れてしまうのでメモ・・
配列のテーブルを作成して、それをループさせる方法です。配列ファイルは、別ファイルにさせて、それをインクルードさせる方が便利かもしれません。
★★6/16 現在 なんと!? 498円 契約事務手数料も無料です!★★
mineo エントリーパッケージ au/ドコモ対応SIMカード データ通信/音声通話 (ナノ/マイクロ/標準SIM/VoLTE)
- 出版社/メーカー: ケイ・オプティコム
- 発売日: 2015/03/27
- メディア: エレクトロニクス
- この商品を含むブログ (21件) を見る
#!/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