分页: 1 / 1

shift和命令行参数的问题

发表于 : 2008-12-18 23:22
Dic4000
test.sh的脚本内容如下:

代码: 全选

#!/bin/bash
echo $@;

echo '$1='$1;
shift;
echo '$1='$1;
shift;
echo '$1='$1;

if [ -n $1 ]
then echo NonEmpty,$1;
else echo Empty ;
fi;
在终端下执行bash test.sh a b
结果是

代码: 全选

a b
$1=a
$1=b
$1=
NonEmpty,
请问最后一次Shift后,$1为什么不为空? 难道不应该打印Empty吗?

Re: shift和命令行参数的问题

发表于 : 2008-12-19 18:47
ago1414
if [ -n $1 ]
then echo NonEmpty,$1;
else echo Empty ;
fi;

變更為

if [ -n "$1" ]

才會正確!!