Bash 带有空变量的If语句
我不能让它正常工作。如果wifissid为空,则需要显示“无线:未连接”。如果wifissid不是空的,它需要显示“无线:连接到$wifissid”Bash 带有空变量的If语句,bash,if-statement,Bash,If Statement,我不能让它正常工作。如果wifissid为空,则需要显示“无线:未连接”。如果wifissid不是空的,它需要显示“无线:连接到$wifissid” 试试这个。-z检查$wifissid是否(!)为空/空(-z)。或者使用与基本相同的-n-z。有关这些运营商的更多详细信息: 另外,我不明白为什么在else语句中有exit,因为这会阻止echo的发生。所以我删除了它并将其添加到脚本的底部 此外,我还添加了#/bin/bash添加到脚本顶部,因为这正是您应该养成的习惯。它有助于防止出现以下问题:如果
试试这个。
-z
检查$wifissid
是否(!
)为空/空(-z
)。或者使用与基本相同的-n
-z
。有关这些运营商的更多详细信息:
另外,我不明白为什么在else
语句中有exit
,因为这会阻止echo
的发生。所以我删除了它并将其添加到脚本的底部
此外,我还添加了#/bin/bash
添加到脚本顶部,因为这正是您应该养成的习惯。它有助于防止出现以下问题:如果此脚本作为cron作业运行,则默认的sh
而不是bash
将解释脚本&它将失败
可能看起来很小,但如果事情不按预期进行,这些小事情会让你发疯。或者干脆
-n
而不是-z
@AdamRosenfield番茄,番茄酱。谢谢。发帖几秒钟后我就明白了。
wifissid=Test
if [ $wifissid = "*" ]; then
WirelessOutput=" Wireless: Connected To $wifissid"
else
WirelessOutput=" Wireless: Not Connected"
exit
fi
echo " $WirelessOutput"
#!/bin/bash
wifissid=Test
# if [ -n "$wifissid" ]; then
if [ ! -z "$wifissid" ]; then
WirelessOutput=" Wireless: Connected To $wifissid"
else
WirelessOutput=" Wireless: Not Connected"
fi
echo " $WirelessOutput"
exit