Bash 命令如果命令成功
Bash command if command succeed
如何根据命令的输出更改命令的输出?
我进行了 snmp 验证,但有可能的答案:
- 命令已执行但没有应答。
- 命令执行正常,但结果不是我所期望的(在这种情况下,这将是输出:
SNMPv2-MIB::sysUpTime.513 = 当前不存在此类实例
这个 OID)
- 他的命令执行正常,结果是预期的结果(与当前没有此类实例的答案不同
OID)
我希望人们 运行 这个脚本,以防收到选项 1 或 2 阅读:
“SNMP 不可用”
对于第三个选项:
“ SNMP 可用”
在我的脚本中,在选项 2 中我的输出变为 OK 而不是变为 Not OK
#!/bin/bash
hostname=
read -p "Introduce IP Address: " hostname
community="snmpcommunity"
echo "snmp validation:"
sysUpTime=`snmpget -v2c -c $comunidad $hostname 1.3.6.1.2.1.1.3.513`
if [ $? -eq 0 ]; then
echo "snmp1 ok"
else
echo "snmp1 not ok"
fi
如果 snmpget 命令的结果进入 sysUpTime 变量,则在第一个 if 条件中添加以下 if 条件应该有效。
if [[ $sysUpTime == *"No Such Instance currently exists at this OID"* ]]
then
echo "snmp1 ok"
else
echo "snmp1 not ok - Instance already exist."
fi
!/bin/bash
hostname=
read -p "Introduce IP Address: " hostname
community="snmpcommunity"
echo "snmp validation:"
sysUpTime=`snmpget -v2c -c $comunidad $hostname 1.3.6.1.2.1.1.3.513`
if [ $? -ne 0 -o "$sysUpTime" = "SNMPv2-MIB::sysUpTime.513 = No Such Instance currently exists at this OID)" ]; then
echo "SNMP not available"
else
echo "SNMP available"
fi
这部分代码
if [ $? -ne 0 -o "$sysUpTime" = "SNMPv2-MIB::sysUpTime.513 = No Such Instance currently exists at this OID)" ]
如果出现错误或 sysUptime 变量等于您的字符串,它将打印 SNMP not available
如何根据命令的输出更改命令的输出?
我进行了 snmp 验证,但有可能的答案:
- 命令已执行但没有应答。
- 命令执行正常,但结果不是我所期望的(在这种情况下,这将是输出: SNMPv2-MIB::sysUpTime.513 = 当前不存在此类实例 这个 OID)
- 他的命令执行正常,结果是预期的结果(与当前没有此类实例的答案不同 OID)
我希望人们 运行 这个脚本,以防收到选项 1 或 2 阅读: “SNMP 不可用”
对于第三个选项: “ SNMP 可用”
在我的脚本中,在选项 2 中我的输出变为 OK 而不是变为 Not OK
#!/bin/bash
hostname=
read -p "Introduce IP Address: " hostname
community="snmpcommunity"
echo "snmp validation:"
sysUpTime=`snmpget -v2c -c $comunidad $hostname 1.3.6.1.2.1.1.3.513`
if [ $? -eq 0 ]; then
echo "snmp1 ok"
else
echo "snmp1 not ok"
fi
如果 snmpget 命令的结果进入 sysUpTime 变量,则在第一个 if 条件中添加以下 if 条件应该有效。
if [[ $sysUpTime == *"No Such Instance currently exists at this OID"* ]]
then
echo "snmp1 ok"
else
echo "snmp1 not ok - Instance already exist."
fi
!/bin/bash
hostname=
read -p "Introduce IP Address: " hostname
community="snmpcommunity"
echo "snmp validation:"
sysUpTime=`snmpget -v2c -c $comunidad $hostname 1.3.6.1.2.1.1.3.513`
if [ $? -ne 0 -o "$sysUpTime" = "SNMPv2-MIB::sysUpTime.513 = No Such Instance currently exists at this OID)" ]; then
echo "SNMP not available"
else
echo "SNMP available"
fi
这部分代码
if [ $? -ne 0 -o "$sysUpTime" = "SNMPv2-MIB::sysUpTime.513 = No Such Instance currently exists at this OID)" ]
如果出现错误或 sysUptime 变量等于您的字符串,它将打印 SNMP not available