Linux 如何编写脚本,将文件中的每一行作为数组中的单独元素放置?

Linux 如何编写脚本,将文件中的每一行作为数组中的单独元素放置?,linux,putty,Linux,Putty,我正在使用PuTTY,我需要编写一个脚本,将文件的每一行发送到一个数组中。这是我的,但它不能正常工作。有人能告诉我我做错了什么吗 #!/bin/bash for i in {0..29}; do programmers[i]=0; done while read current do echo $current programmers[i]=$current ((++i)) sleep .1 done</1111/modu

我正在使用PuTTY,我需要编写一个脚本,将文件的每一行发送到一个数组中。这是我的,但它不能正常工作。有人能告诉我我做错了什么吗

#!/bin/bash

for i in {0..29}; do programmers[i]=0; done

while read current
do
        echo $current
        programmers[i]=$current
        ((++i))
        sleep .1
done</1111/module9/programmers | cut -d \. -f 2
#/bin/bash
对于{0..29}中的i;do程序员[i]=0;完成
读取当前数据时
做
echo$当前
程序员[i]=$current
(++i))
睡觉

完成主要问题是使用了for和while循环的奇怪合并。您应该只使用while循环。第二个问题是由于管道进入
切口
而导致的子壳体

以下是正确的方法:

#!/bin/bash
readarray myarray < myfile
#/bin/bash
readarray myarray

适用于Bash 4.2+

定义不工作。有错误吗?当我输入'echo${programmers[@]}'时,它只是说数组中填充了一堆零。我的指导老师给了我脚本应该使用的部分代码:#/bin/bash同时读取当前do echo$current sleep.1 done这对我不起作用。我必须使用指导老师给我的代码部分来完成脚本。