[英]Bash script to read txt file, do a while loop and write output
[英]how to write a while loop in a bash file
我正在尝试在bash中编写一个while
循环,如下所示:
while [!(netstat -pnlt | grep ":9393" | wc -l)];
do
echo "server not ready... waiting..."
sleep 2
done
我懂了
意外令牌`netstat'附近的语法错误
从控制台
我想做的是:
grep使用端口9393的服务,计算其行数。 如果行号为0,则表示该服务未运行,因此我将使其等待。
操作系统:debian:jessie
请帮我改正...我查了很多文件
您的测试语法不正确。 查看使用手册页或整个Internet上的示例。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.