逆引きシェルスクリプト/bashで配列を扱う方法
の編集
Top
/
逆引きシェルスクリプト
/
bashで配列を扱う方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * bashで配列を扱う方法 [#e803a690] bashで配列を扱う方法を以下に記します。~ #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 配列の生成 [#r15720fb] 空の配列生成方法と初期値を代入する配列生成例を記します。 **空の配列生成 [#x5927b4b] 空の配列生成は以下のように()を使います。 ary=() **初期値を指定した配列生成 [#ofdbf279] スペース区切りで代入する値を指定します。 ary=("sakura" "tubaki") *配列の操作 [#a2f88526] 以下に配列の操作例を記します。 ** 配列の個数を調べる方法 [#k357160e] 配列の個数を調べる方法は以下の通りです。~ -サンプルスクリプト #ref(ary_cnt.sh) #!/bin/bash ary1=("sakura" "tsubaki") echo count: ${#ary1[@]} ary2=(1 2 3 4 5) echo count: ${#ary2[@]} -実行結果 $ chmod +x ary_cnt.sh $ ./ary_cnt.sh count: 2 count: 5 **配列の位置を指定し表示する [#yf838344] 配列のインデックス値は0からはじまります。 -サンプルスクリプト #ref(ary_idx.sh) #!/bin/bash ary=("sakura" "tsubaki" "kiku") echo no0 : ${ary[0]} echo no2 : ${ary[2]} -実行結果 $ chmod +x ary_idx.sh $ ./ary_idx.sh no0 : sakura no2 : kiku ** 既存の配列に追加 [#v3e4c1be] 既存の配列の最後に追加する方法を記します。 -サンプルスクリプト #ref(ary_add.sh) #!/bin/bash ary=("sakura" "tsubaki") echo "Before" for i in `seq 1 ${#ary[@]}` do echo ary\[`expr $i - 1`\] = ${ary[`expr $i - 1`]} done echo "After1" ary=("${ary[@]}" "kiku") for i in `seq 1 ${#ary[@]}` do echo ary\[`expr $i - 1`\] = ${ary[`expr $i - 1`]} done echo "After2" ary=("momiji" "${ary[@]}") for i in `seq 1 ${#ary[@]}` do echo ary\[`expr $i - 1`\] = ${ary[`expr $i - 1`]} done -実行結果 $ chmod +x ary_add.sh $ ./ary_add.sh Before ary[0] = sakura ary[1] = tsubaki After1 ary[0] = sakura ary[1] = tsubaki ary[2] = kiku After2 ary[0] = momiji ary[1] = sakura ary[2] = tsubaki ary[3] = kiku #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * bashで配列を扱う方法 [#e803a690] bashで配列を扱う方法を以下に記します。~ #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 配列の生成 [#r15720fb] 空の配列生成方法と初期値を代入する配列生成例を記します。 **空の配列生成 [#x5927b4b] 空の配列生成は以下のように()を使います。 ary=() **初期値を指定した配列生成 [#ofdbf279] スペース区切りで代入する値を指定します。 ary=("sakura" "tubaki") *配列の操作 [#a2f88526] 以下に配列の操作例を記します。 ** 配列の個数を調べる方法 [#k357160e] 配列の個数を調べる方法は以下の通りです。~ -サンプルスクリプト #ref(ary_cnt.sh) #!/bin/bash ary1=("sakura" "tsubaki") echo count: ${#ary1[@]} ary2=(1 2 3 4 5) echo count: ${#ary2[@]} -実行結果 $ chmod +x ary_cnt.sh $ ./ary_cnt.sh count: 2 count: 5 **配列の位置を指定し表示する [#yf838344] 配列のインデックス値は0からはじまります。 -サンプルスクリプト #ref(ary_idx.sh) #!/bin/bash ary=("sakura" "tsubaki" "kiku") echo no0 : ${ary[0]} echo no2 : ${ary[2]} -実行結果 $ chmod +x ary_idx.sh $ ./ary_idx.sh no0 : sakura no2 : kiku ** 既存の配列に追加 [#v3e4c1be] 既存の配列の最後に追加する方法を記します。 -サンプルスクリプト #ref(ary_add.sh) #!/bin/bash ary=("sakura" "tsubaki") echo "Before" for i in `seq 1 ${#ary[@]}` do echo ary\[`expr $i - 1`\] = ${ary[`expr $i - 1`]} done echo "After1" ary=("${ary[@]}" "kiku") for i in `seq 1 ${#ary[@]}` do echo ary\[`expr $i - 1`\] = ${ary[`expr $i - 1`]} done echo "After2" ary=("momiji" "${ary[@]}") for i in `seq 1 ${#ary[@]}` do echo ary\[`expr $i - 1`\] = ${ary[`expr $i - 1`]} done -実行結果 $ chmod +x ary_add.sh $ ./ary_add.sh Before ary[0] = sakura ary[1] = tsubaki After1 ary[0] = sakura ary[1] = tsubaki ary[2] = kiku After2 ary[0] = momiji ary[1] = sakura ary[2] = tsubaki ary[3] = kiku #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する
添付ファイル:
ary_add.sh
533件
[
詳細
]
ary_cnt.sh
595件
[
詳細
]
ary_idx.sh
520件
[
詳細
]