I have something in bash like
myArray=(\'red\' \'orange\' \'green\')
And I would like to do something like
echo ${
I wanted something similar myself and avoiding a loop, came up with ...
myArray=('red' 'orange' 'green')
declare -p myArray | sed -n "s,.*\[\([^]]*\)\]=\"green\".*,\1,p"
... which leaves stdout unsullied should the element not be found...
$ myArray=('red' 'orange' 'green')
$ declare -p myArray | sed -n "s,.*\[\([^]]*\)\]=\"green\".*,\1,p"
2
$ declare -p myArray | sed -n "s,.*\[\([^]]*\)\]=\"gren\".*,\1,p"
$
After which I googled, found this question and thought I'd share ;)