Arrays 在bash中使用空格分隔的数字从stdin读取数组元素

Arrays 在bash中使用空格分隔的数字从stdin读取数组元素,arrays,bash,shell,Arrays,Bash,Shell,我正在bash中尝试这段代码: echo "Enter number(a b c)" read natc echo ${natc[1]} 输入应为一行3个数字,用空格分隔,从标准输入中读取,例如456 我想在数组中访问它们,natc[]即natc[0]=4,natc[1]=5等等 google中有很多例子,但大多是从文件或预定义值读取数组。如何实现我的目标?您可以使用-a读入数组: read -a natc 使用-p和-a读取选项: read -p "Enter an array: " -a

我正在bash中尝试这段代码:

echo "Enter number(a b c)"
read natc
echo ${natc[1]}
输入应为一行3个数字,用空格分隔,从标准输入中读取,例如
456
我想在数组中访问它们,
natc[]
natc[0]=4,natc[1]=5
等等


google中有很多例子,但大多是从文件或预定义值读取数组。如何实现我的目标?

您可以使用
-a
读入数组:

read -a natc

使用
-p
-a
读取选项:

read -p "Enter an array: " -a natc
Enter an array: a b c d

echo "${natc[0]}"
a
echo "${natc[1]}"
b
echo "${natc[2]}"
c
echo "${natc[3]}"
d

echo "${#natc[@]}"
4

很好,然后您可以使用
echo${natc[0]}
echo${natc[1]}
访问记录。。。