gpt4 book ai didi

bash - while 循环在附加文件 bash 中中断到早期

转载 作者:行者123 更新时间:2023-12-04 18:49:35 25 4
gpt4 key购买 nike

我正在用 bash 编写脚本,当我在附加文件中循环文件时遇到一些问题
代码示例:

#! /bin/bash

printFlag=false

while test $# -gt 0; do
case "$1" in

-p)
shift
printFlag=true
;;

*)
shift
;;
esac
done

#Setting up the printFile
for i in {1..50}
do
echo $i >> printFile
done

echo ' ' >> printFile

for i in {150..200}
do
echo $i >> printFile
done

echo ' ' >> printFile


#print the file

if $printFlag
then

#problem here (wont print the whole file)
while read line
do
#Modify the line here...
echo $line
done < printFile


else
#prints the whole file
cat printFile
fi

rm printFile

exit 0
如果 printFlag 为假,则按预期打印,
如果 printFlag 为真,那么输出将在 50 和 ' ' 文件附加 EOF 之后停止。
我认为附加它正在添加一个EOF并且while循环中断但不知道如何继续
我需要 while 循环在 EOF 之后继续读取文件的其余部分。
我尝试了不同的读取 [-r, -d ...] 设置并且不会有任何效果
我是 bash 的新手,我希望我已经很好地解释了这个问题,让你理解

最佳答案

Bash 没有任何 bool 概念——没有真/假值可以通过 $printFlag 变量传递给 if 语句

关于bash - while 循环在附加文件 bash 中中断到早期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63875036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com