私のスクリプトは、キーと値のペアをコマンド ライン引数として受け入れます。指定された数の引数が偶数かどうかをテストします。偶数の場合、配列を反復処理したい場合は、args[n]
&args[n+1]
をペア(n = 0 to $# - 1)
と見なし、これら 2 つを引数として取る別のコマンドを実行します。for ループを配置できません。ここに私のコードがあります -
#!/bin/sh
usage() {
echo "$0 <property-name> <property-value> [<property-name> <property-value> ...]"
exit 1
}
if [ $# -lt 2 ] ; then
usage
fi
# Should be even number of arguments
if [ $(( $# % 2 )) -ne 0 ]
echo "Even number of arguments expected."
usage
fi
args=("$@")
COMMAND="/mycommand "
for ### WHAT SHOULD I WRITE HERE??
PROPERTY=${args[$c]}
VALUE=${args[$c + 1]}
COMMAND="mycommand $PROPERTY $VALUE"
## Execute command
done