微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在bash文件中编写一个while循环

我想在bash中写一个while循环如下:

while [!(netstat -pnlt | grep ":9393" | wc -l)]; do echo "server not ready... waiting..." sleep 2 done

我明白了

语法错误附近的意外标记`netstat'

从控制台

如何在awk动作中增加一个shellvariables

无法创build备份文件添加!覆盖)

奇怪的行为与sed命令

将2个txt文件合并到一个单个制表符分隔的文件

我怎样才能把一半的命令分配给bash中的variables

我想要做的是:

grep使用端口9393的服务,统计其行数。 如果行号为0,表示服务没有运行,所以我会继续等待。

操作系统:debian:jessie

请帮我纠正一下…我查了很多文件

从Windows系统启动基本的Docker构build基本的bash脚本

为什么在shell脚本中使用<()会导致语法错误

find多less个文件

awk命令输出一个文本文件

连接每四个文件,Linux

你的测试语法不正确。 看一下使用手册页,或者遍及互联网的例子。

while [[ $(netstat -pnlt | grep -c ":9393 .*LISTEN") -eq '1' ]]; do echo "server not ready... waiting..." sleep 2 done

但是,随着你对你的问题的编辑,以下将会更好:

while ! netstat -pnlt | grep -q ":9393 .*LISTEN"; do echo "server not ready... waiting..." sleep 2 done

最好使用lsof

while ! lsof -iTCP:9393 -sTCP:LISTEN >/dev/null; do echo "server not ready... waiting..." sleep 2 done

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐