#!/bin/bash
# query1.sh
numbers=(53 8 12 9 784 69)
echo ${numbers[3]} # <--- this echoes "9" to standard output.
number=numbers[3]
echo number # <--- this echoes "number" to stdout.
echo $number # <--- this echoes "numbers[3]" to stdout.
echo ... <--- ???
number
名前付き変数をエコーして「9」を標準出力として取得するには、どの構文を使用する必要がありますか?
ベストアンサー1
あなたの質問は次のとおりです。
number=numbers[3]
配列の4番目の要素はnumbers
変数に割り当てられませんnumber
。numbers[3]
実際には意味がないからです。
$ numbers=(53 8 12 9 784 69)
$ echo $numbers[3]
53[3]
配列名のみを変数として使用すると、実際に使用されるのは配列の最初の要素(53
)です。だから$numbers[3]
それは53[3]
。あなたが望むもの:
$ number=${numbers[3]}
$ echo $number
9