首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Bash:如何读取包含多个条件的while循环中的文件?

Bash:如何读取包含多个条件的while循环中的文件?
EN

Stack Overflow用户
提问于 2015-06-26 13:38:57
回答 1查看 1.9K关注 0票数 1

在阅读了大量的文档和多个SO解决方案之后,我仍然无法用读行命令在while循环中获得正确的语法。

我尝试了下面的堆栈溢出解决方案,但没有效果。

Bash脚本,while循环中的多个条件

代码语言:javascript
复制
!/bin/bash

while (( $(read -r line) && "$1" != 1 ))
do
  #Do stuff
done < myFile.txt

我得到的错误是((: && 8 != 1 : syntax error: operand expected (error token is "&& 8 != 1 "

还尝试了read -r line,而不是将其包装在$符号中,但仍然没有工作。

我哪里出错了?

编辑:忽略我原来文章的逻辑。最终会改变的。我只是想找出正确的语法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-26 13:45:58

我认为这里正确的语法是:

代码语言:javascript
复制
#!/bin/bash

while read -r line && (( "$1" != 1 ))
do
    # some stuff
done < myFile.txt

如果您想让循环运行,只要read成功,(( ))命令就需要在(( ))之外运行。尽管如此,我不确定您所使用的条件,因为$1是传递给您的脚本的第一个参数,您向我们展示的脚本永远不会改变。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31074718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档