jav*_*e42 4 shell scripting ksh
此 KornShell 代码引发以下错误:
测试文件
#! /usr/bin/ksh
if [ ${fooVariable} = "" ]; then
fooVariable="fooString"
fi
echo "${fooVariable}"
Run Code Online (Sandbox Code Playgroud)
错误:
@:/tmp #./test.ksh
./test.ksh[3]: test: 0403-004 Specify a parameter with this command.
Run Code Online (Sandbox Code Playgroud)
为什么会抛出此错误以及如何修复它?
解决方案:
在变量周围加上双引号。
测试文件
#! /usr/bin/ksh
if [ "${fooVariable}" = "" ]; then
fooVariable="fooString"
fi
echo "${fooVariable}"
Run Code Online (Sandbox Code Playgroud)
输出:
@:/tmp #./test.ksh
fooString
Run Code Online (Sandbox Code Playgroud)