脚本A从B脚本导入所有变量;问题是脚本B,我不知道是否存在或者是我需要的变量是空的。案例不存在B中的变量,那么我在脚本A中使用我的变量。它存在于A中使用我的变量B;或者它存在于A和B中,然后用于B中的默认变量。
示例: 在这种情况下,我的脚本中的变量Comment3" B"是空的......
脚本B.sh
#!/bin/sh
Name='<b>Variety</b>'
Comment='<span size="xx-large">Variety changes the wallpaper on a regular interval</span>'
Comment3=''
License='GPLv3'
Screenshot='http://peterlevi.com/variety/wp-content/uploads/2012/10/01-all-1024x576.jpg'
Url='http://peterlevi.com/variety/'
export Comment
export Name
export Comment3
export License
export Screenshot
export Url
脚本A.sh
#!/bin/sh
. $HOME/B.sh
Comment2='Variety changes the desktop wallpaper on a regular basis, using user-specified or automatically downloaded images.'
echo $display_variable_comment3_or_comment2 (depending the case)
抱歉,我的英语不好:/
答案 0 :(得分:4)
在BASH中你可以这样做:
pvar="${s:-defaultVal}"
如果pvar
存在,$s
将设置为defaultVal
,否则会设置为{{1}}
答案 1 :(得分:1)
这取决于您是否需要检查变量是否存在或者它的值是否为空。如果你只需要测试它是否为空,你可以使用它:
if [ -z "$COMMENT3" ] ; then
COMMENT3="some comment"
fi
...否则请使用@ anubhava的答案。