パラメータを順番に提供するために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})