Ant*_*ber 3 bash array echo variable
#!/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 ... <--- ???
Run Code Online (Sandbox Code Playgroud)
我应该使用什么语法来回显命名的变量number
并将“9”作为标准输出?
你的问题是:
number=numbers[3]
Run Code Online (Sandbox Code Playgroud)
未将数组的第 4 个元素分配给numbers
变量number
。那是因为numbers[3]
实际上并不意味着什么:
$ numbers=(53 8 12 9 784 69)
$ echo $numbers[3]
53[3]
Run Code Online (Sandbox Code Playgroud)
发生的情况是,当您单独使用数组名称作为变量时,实际使用的是数组的第一个元素 ( 53
)。于是$numbers[3]
变成53[3]
。你想要的是:
$ number=${numbers[3]}
$ echo $number
9
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
432 次 |
最近记录: |