读取文件的第一行后,bash脚本退出

时间:2019-08-08 22:15:06

标签: bash

我有一个“ input_file”,其中包含一些条目。我读取了input_file,如下所示,并将每一行作为参数传递给some_other_script.sh
脚本some_other_script.sh接受参数,将其传递给ant,然后执行一些处理。
问题在于它仅读取第一行,然后停止处理。实际上,它还会打印"Did the code return",但之后不打印任何内容。
如果删除some_other_script.sh中的“ ant”语句,它可以正常工作,但是,那当然不是我想要的。

while read line
do
  echo $line
  ./some_other_script.sh $line
  echo "Did the code return"
done < "input_file"

我尝试了多种组合,但是都没有用。

1 个答案:

答案 0 :(得分:0)

当我将内容读入数组然后进行处理时,它就可以正常工作。我不确定我知道有什么区别。如果有更好的解决方案,请告诉我。

arr=()
while IFS='' read -r line; do
  arr+=("$line")
done < "input_file"

for line in "${arr[@]}"
do
  ./some_other_script.sh $line
done