ユーザーから複数の列番号を取得して内容を反転させるスクリプトが必要です。

ユーザーから複数の列番号を取得して内容を反転させるスクリプトが必要です。

ユーザーから複数の列番号を取得し、内容を逆にするUnixスクリプトが必要です。

declare -a param="$@"
# enter 0 when exit the insert element
echo "Enter the numbers"
read n
while [ $n -ne 0 ]
do
    x[$i]=`expr $n`
    read n
    let i++
done

#display the all array elements
echo "Array values ${x[@]}"
echo "Array values ${x[*]}"

# To find the array length
length=${#x[*]}
echo $length

ベストアンサー1

上記のGnoucの非常によく似た答えと一緒に投稿されたStack Overflowの非常に似た質問に対する私の答えをコピーして貼り付けます。

_arr+=( '"${_arrev} is an actual "${array[@]}"' )
_arr+=( '"${_arrev} is created as a result"' )
_arr+=( '"of reversing the key order in"' )
_arr+=( '"this "${_arr}. It handles zsh and"' )
_arr+=( '"bash arrays intelligently by tracking"' )
_arr+=( '"shell "$ENV." quotes=fine ( i hope ) "' )

. <<REVERSE /dev/stdin                    ⏎
    _arrev=( $(: $((l=${#_arr[@]}${ZSH_VERSION++1})) ; printf '"${_arr[$(('$l'-%d))]}" ' `seq 1 $l`) )
REVERSE

echo ; printf %s\\n ${_arrev}

"shell "$ENV." quotes=fine ( i hope ) "
"bash arrays intelligently by tracking"
"this "${_arr}. It handles zsh and"
"of reversing the key order in"
"${_arrev} is created as a result"
"${_arrev} is an actual "${array[@]}"

私はこれが可能なすべての配列を処理する必要があると思います。

そこで何が起こっているのか気になったら、ぜひ確認してみてください。ここ最初。それからおそらくここ、本当にここ、そして時間があればここそしてここ

これらのすべての答えで、私はここでドキュメントのさまざまな側面を議論します。(そして他の多くの側面)これを有利に使用することができる。たとえば、上記の2つの評価変数について説明し、その中で次のような他の変数をグローバルに宣言する関数を宣言しました。"_$1"5〜6行だけあり、ほとんどは次のとおりです。_$1() { func body ; }正しく使うととても便利です。

自動切り替え情報bash/zsh, まあ、それは別の話ですが、非常に簡単です。バラよりここ

したがって、基本的にbash/zsh,配列の場合は、3つだけを使用してそれらを元に戻すことができるはずです。 <<...ラインを反転させてください。配列を次のように繰り返す必要はありません。for loopする。

おすすめ記事