shell判断环境变量是否存在

需求

用shell脚本对环境变量进行判断,存在则使用,不存在则赋缺省值。

实现

读取名称变量NAME并打印Hi ${NAME}!
若名称变量NAME不存在打印Hi there!
需要用到&&短路语法,前半段命令成功执行(返回0)才会执行后半段命令,否则直接跳过

#!/bin/bash
[ -z ${NAME+x} ]&&NAME=there
echo Hi ${NAME}!

脚本保存为greet.sh测试效果

$ ./greet.sh 
Hi there!
$ export NAME=Frank
$ ./greet.sh 
Hi Frank!
$ unset NAME
$ ./greet.sh 
Hi there!

参考

Shell Command Language

原文地址:https://www.cnblogs.com/azureology/p/15348695.html