写一个shell脚本内容判断#!/bin/bash # 检查telnet-server是否安装 if ! rpm -qa | grep -qw telnet-server; then echo "telnet-server未安装" exit 1 fi # 检查xinetd是否安装 if ! rpm -qa | grep -qw xinetd; then echo "xinetd未安装" exit 1 fi echo "telnet-server和xinetd已安装" output=$(echo "quit" | telnet 127.0.0.1 12362611511311351 2>&1) if [[ $output == *"bad port"* ]]; then echo "telnet-server is running" else echo "telnet-server is not running" fi # 检查xinetd服务是否正常 xinetd_status=$(systemctl status xinetd | grep Active | awk '{print $2}') if [ $xinetd_status == "active" ]; then echo "Xinetd service is running" else echo "Xinetd service is not running" fi输出正常,则执行echo“aaa”,不正常则退出
时间: 2024-03-27 09:41:31 浏览: 60
0403-极智开发-解读shell脚本开头bin-bash的作用
5星 · 资源好评率100%
好的,下面是一个根据你要求做出修改后的脚本:
```
#!/bin/bash
# 检查telnet-server是否安装
if ! rpm -qa | grep -qw telnet-server; then
echo "telnet-server未安装"
exit 1
fi
# 检查xinetd是否安装
if ! rpm -qa | grep -qw xinetd; then
echo "xinetd未安装"
exit 1
fi
echo "telnet-server和xinetd已安装"
# 检查telnet服务是否正常
output=$(echo "quit" | telnet 127.0.0.1 12362611511311351 2>&1)
if [[ $output == *"bad port"* ]]; then
echo "telnet-server is running"
else
echo "telnet-server is not running"
exit 1
fi
# 检查xinetd服务是否正常
xinetd_status=$(systemctl status xinetd | grep Active | awk '{print $2}')
if [ $xinetd_status == "active" ]; then
echo "Xinetd service is running"
else
echo "Xinetd service is not running"
exit 1
fi
echo "aaa"
```
脚本的执行流程如下:
1. 检查telnet-server和xinetd是否安装,如果未安装则输出提示信息并退出脚本。
2. 检查telnet服务是否正常,如果输出包含"bad port"则表示服务正常,否则输出提示信息并退出脚本。
3. 检查xinetd服务是否正常,如果状态为"active"则表示服务正常,否则输出提示信息并退出脚本。
4. 如果以上检查都通过,则输出"aaa"。
注意,如果有任何一个检查不通过,脚本都会输出提示信息并使用exit 1退出,表示执行失败。如果所有检查都通过,则输出"aaa"表示执行成功。
阅读全文