KornShell错误0403-004使用此命令指定参数
此KornShell代码引发以下错误: 测试.kshKornShell错误0403-004使用此命令指定参数,shell,scripting,ksh,Shell,Scripting,Ksh,此KornShell代码引发以下错误: 测试.ksh #! /usr/bin/ksh if [ ${fooVariable} = "" ]; then fooVariable="fooString" fi echo "${fooVariable}" #! /usr/bin/ksh if [ "${fooVariable}" = "" ]; then fooVariable="fooString" fi echo "${fooVariable}" 错误: @:/tmp
#! /usr/bin/ksh
if [ ${fooVariable} = "" ]; then
fooVariable="fooString"
fi
echo "${fooVariable}"
#! /usr/bin/ksh
if [ "${fooVariable}" = "" ]; then
fooVariable="fooString"
fi
echo "${fooVariable}"
错误:
@:/tmp #./test.ksh
./test.ksh[3]: test: 0403-004 Specify a parameter with this command.
@:/tmp #./test.ksh
fooString
为什么会抛出此错误以及如何修复它?解决方案:
@:/tmp #./test.ksh
./test.ksh[3]: test: 0403-004 Specify a parameter with this command.
@:/tmp #./test.ksh
fooString
在变量周围加上双引号
测试.ksh
#! /usr/bin/ksh
if [ ${fooVariable} = "" ]; then
fooVariable="fooString"
fi
echo "${fooVariable}"
#! /usr/bin/ksh
if [ "${fooVariable}" = "" ]; then
fooVariable="fooString"
fi
echo "${fooVariable}"
输出:
@:/tmp #./test.ksh
./test.ksh[3]: test: 0403-004 Specify a parameter with this command.
@:/tmp #./test.ksh
fooString
您还可以使用ksh为设置默认值提供的特殊语法<代码>var1,默认值为${var1:=bar};使用默认值echo$var1\u