1. ホーム
  2. arrays

Bash配列の値のインデックスを取得する

2023-10-22 01:57:29

質問

私は、あるものを bash のように

myArray=('red' 'orange' 'green')

そして、次のようなことをしたいと思います。

echo ${myArray['green']}

この場合、出力は 2 . これは実現可能でしょうか?

どのように解決するのですか?

これで解決します。

#!/bin/bash

my_array=(red orange green)
value='green'

for i in "${!my_array[@]}"; do
   if [[ "${my_array[$i]}" = "${value}" ]]; then
       echo "${i}";
   fi
done

もちろん、これを関数にすれば(例:get_index() - を使えば、汎用的に使えます。