#!/bin/bash
usrname=$1
if [ [ -z "$usrname"] ]
then
usrname='xxx'
echo "use the default parameter:$usrname"
fi
echo $usrname
代码如上显示,文件名为test.bash,这个脚本做三件事:
1. 输入参数1的值赋给usrname
2. 输入参数为空时使用默认数值赋值给usrname
3. 把变量usrname的值输出。
看到网上的其他教程里,判断数据为空使用 if [ [ -z "$usrname"] ], 但是实际使用时会报错:
$ ./test.bash aaa
./test.bash: 第 6 行:[: -z: 需要二元表达式
经过实验,判断条件改为if test -z "$usrname",能够正常工作:
#!/bin/bash
usrname=$1
if test -z "$usrname"
then
usrname='xxx'
echo "use the default parameter:$usrname"
fi
echo $usrname
输出如下:
$ ./test.bash aaa
aaa
$ ./test.bash
use the default parameter:xxx
xxx