(1)sehll实例 # cat subshell #!/bin/bash if (set -u; : $var); then #冒号与$间有空格 echo "Variable is set." else echo "Not set" fi (2)输出结果: # ./subshell ./subshell: line 3: var: unbound variable Not set (3)原因分析: 其中set -u命令用于设置shell选项,u是nounset表示
#!/bin/bash argv=" if [ -z "$argv" ] then echo "argv is empty" else echo "argv is not empty" 说明,-z选项判断一个变量是否为空,如果为空则执行then部分,如果不为空,则执行else部分. 另外,在shell中建议给变量加上双引号,比如如果test的内容是argv="adsf adf 1234e"有空格,变量不加双引号执行i