在bash脚本中设置默认用户变量

时间:2010-09-28 16:29:17

标签: bash shell

我正在编写一个bash shell脚本,在用户需要将路径作为$ 1变量传递给它的地方运行。如何确定是否缺少$ 1并为其定义默认值?

2 个答案:

答案 0 :(得分:9)

您可以检查变量的长度。

if [[ -z $1 ]]; then
    echo '$1 is zero-length. Please provide a value!'
fi

如果您只想使用默认值,可以使用大括号扩展。

first_param=${1:-defaultvalue}

${varname:-foo}构造将使用varname的值(如果已设置),或使用:-后面的内容(如果未设置)。

答案 1 :(得分:1)

您的意思是检测是否缺少值,或者路径中的目录是否丢失? 对于前者:

MYPATH=$1
if [[ -z $MYPATH ]]
then
    MYPATH=$MYDEFAULTPATH
fi

对于后者:

MYPATH=$1
if [[ ! -d $MYPATH ]]
then
    MYPATH=$MYDEFAULTPATH
fi