Shell脚本variables不为空(-z选项)
如何使用-z
选项确保variables不为空?
errorstatus="notnull" if [ !-z $errorstatus ] then echo "string is not null" fi
它返回错误:
./test: line 2: [: !-z: unary operator expected
当然是的。 replacevariables后,它读取[ !-z ]
,这不是一个有效的[
命令。 使用双引号,或[[
。
if [ ! -z "$errorstatus" ] if [[ ! -z $errorstatus ]]
你为什么要用-z? 为了testing一个string是否是非空的,你通常使用-n:
如果testing-n“$ errorstatus”; 然后 回声errorstatus不是空的 科幻
我认为这是你正在寻找的语法:
if [ -z != $errorstatus ] then commands else commands fi