脚本中命令无返回值时如何编写echo提示语句?
实现NIS Map检查的条件判断脚本
你可以通过两种简洁的方式实现需求,以下是具体方案:
方案一:捕获输出内容判断
这种方式先保存查询结果,再判断结果是否为空,适合需要复用查询结果的场景:
echo -e "NIS MAP" # 执行NIS查询并将结果存入变量 nis_map_result=$(ypcat -k auto.home.ndh | grep -i -w "$@") # 检查结果是否为空 if [ -z "$nis_map_result" ]; then echo "NO NIS MAP!" else # 输出查询到的NIS Map信息 echo "$nis_map_result" fi
方案二:利用grep的退出状态判断
grep命令找到匹配内容时返回退出码0,未找到时返回1,直接基于这个特性判断更简洁:
echo -e "NIS MAP" # 执行查询,若grep未找到匹配则执行echo提示 if ! ypcat -k auto.home.ndh | grep -i -w "$@"; then echo "NO NIS MAP!" fi
说明
$@会传递脚本接收到的所有参数,确保grep能正确匹配目标用户信息- 两种方案都能实现需求,可根据是否需要保留查询结果选择对应写法
内容的提问来源于stack exchange,提问作者strudel
相关产品推荐
相关产品推荐

