set -Aはbashでは機能しません

set -Aはbashでは機能しません

パラメータを順番に提供するためにset -Aを使用してみたので、最初のバージョンを削除してからデフォルトバージョンを削除することができました。しかし、setコマンドエラーが発生します。

これはコードです

    _install=$(rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}\t%{INSTPREFIXES}\n" | grep MQSeriesRuntime | grep 7.0 | grep -v 7.0.1-0 | sort -r | awk '{print $1}')
 _numver=$(rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}\t%{INSTPREFIXES}\n" | grep MQSeriesRuntime | grep 7.0 | grep -v 7.0.1-0 | wc -l)
set -A arrinstall ${_install}

##########################################
# Get a list of all MQ install instances #
##########################################
i=${_numver}
arrayindex=0
while [ i -ne 0 ]
do
  _inst_level=${arrinstall[$arrayindex]}
  _Unum=$(echo ${_inst_level} |  sed -e 's/-/ /g' | awk '{print $2}')
  _Level=$(echo ${_inst_level} |  sed -e 's/-/ /g' | awk '{print $4}')
  i=$((i-1))
  arrayindex=$((arrayindex+1))
done

これは私が得るエラーです

./test.sh: line 8: set: -A: invalid option
set: usage: set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
./test.sh: line 15: [: i: integer expression expected

私がここで何を間違っているのでしょうか?

これは変数の出力です。

$ rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}\t%{INSTPREFIXES}\n" |grep MQSeriesRuntime |grep 7.0 | grep -v 7.0.1-0 |sort -r |awk '{print $1}'
MQSeriesRuntime-U860943-7.0.1-12
MQSeriesRuntime-U860173-7.0.1-11

$ rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}\t%{INSTPREFIXES}\n" |grep MQSeriesRuntime |grep 7.0 | grep -v 7.0.1-0 |wc -l
2

ベストアンサー1

set -Aコマンドkshですが、実行スクリプトを使用していますbash。同等のものはbash単に

arrinstall=(${_install})

おすすめ記事