Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何创建数组并为其赋值-BASH脚本_Arrays_Bash - Fatal编程技术网

Arrays 如何创建数组并为其赋值-BASH脚本

Arrays 如何创建数组并为其赋值-BASH脚本,arrays,bash,Arrays,Bash,啊哈数组和循环是我最薄弱的环节。我试图根据用户输入创建数组,所以 printf "%s\n" "how may array you want" read value 在此之后,我将询问用户希望在数组上添加什么值(这是我一直坚持的位) 虽然这个方法有效(我认为),但我不太确定我是否真的在创建一个数组并为该数组赋值 可以在bash中动态扩展数组。您可以使用此代码段 a=();a[${a[@]}]=${number};echo${a[@]} 第一条语句定义一个空数组。第二个(可以在while循环中使

啊哈数组和循环是我最薄弱的环节。我试图根据用户输入创建数组,所以

printf "%s\n" "how may array you want"
read value
在此之后,我将询问用户希望在数组上添加什么值(这是我一直坚持的位)


虽然这个方法有效(我认为),但我不太确定我是否真的在创建一个数组并为该数组赋值

可以在bash中动态扩展数组。您可以使用此代码段

a=();a[${a[@]}]=${number};echo${a[@]}


第一条语句定义一个空数组。第二个(可以在while循环中使用)是在最后一个elment位置+1处插入一个值,因为
${a[@]}
表示
a
的长度。第三条语句只打印数组中的所有元素。

是否要在shell中创建数组?该
array.db
文件的用途是什么?创建此数组后,您将如何处理它?我只想将值存储在array.db上,看看它是否工作,shell是的,不知道数组中是否有任何线索。该脚本将在
array.db
文件中写入一系列数字,每行一个。我不知道您打算如何处理该文件(它不是shell数组)。我使用array.db的唯一原因是因为以后我想在同一脚本中或在以后的脚本中使用grepding从array.db获得的值?您打算如何在
grep
中使用该文件?使用
-f
?这是一种古老的语法——附加到数组的更简单的现代方法就是
a+=(“$value”)
。我不知道这是否回答了OP的问题,但是OP的问题并不十分清楚(一直使用“数组”这个词,但给出的代码没有显示出使用实际shell数组的意图).那是因为我对数组一无所知,谢谢你的帮助:)
i=1
while [ $i -le $value ]
do 
    echo "what value you want to put in array $i"
    read number
    echo $number >> array.db
    i=$(( i+1 ))
    echo 
done