使用shell脚本执行mc命令并且不退出,在执行mc过程中继续监听另一台端口是8700的主机,如果可以连接就继续,如果不可以连接就退出mc并且重新开始mc的执行
时间: 2024-04-12 10:27:07 浏览: 111
你可以使用`while`循环来实现在执行`mc`命令期间监听另一台主机的端口。下面是一个示例的Shell脚本:
```bash
#!/bin/bash
while true; do
# 执行mc命令并将输出重定向到/dev/null,这样不会在终端显示输出
mc <your_mc_command> >/dev/null 2>&1 &
# 判断端口是否可连接
while ! nc -z <host> <port>; do
sleep 1
done
# 如果端口可连接,继续执行mc
echo "Connection successful! Continuing with mc execution."
wait # 等待mc命令执行完毕
# 如果端口不可连接,退出当前的mc进程并重新开始
echo "Connection failed! Restarting mc execution."
pkill -f "mc <your_mc_command>"
done
```
请将`<your_mc_command>`替换为实际的`mc`命令,将`<host>`和`<port>`替换为要监听的主机和端口。脚本中使用了`nc`命令来检查端口是否可连接,如果端口可连接,则输出"Connection successful! Continuing with mc execution.",继续执行`mc`命令;如果端口不可连接,则输出"Connection failed! Restarting mc execution.",并通过`pkill`命令结束当前的`mc`进程,重新开始执行。循环会一直进行下去,直到连接成功为止。
阅读全文