执行以下代码段时,始终会出现错误“test:argument expected”。但是,如果我将“-e”更改为“-s”,则此错误将消失。是否可以消除此错误但保持“-e”不变?
OAMPROXY_BKOUT_SPF="/var/ap/platform/rccCfgBkup/backout.spf"
if [ -e ${OAMPROXY_BKOUT_SPF} ] && [ "${IS_GENERIC_RETROFIT}" = "no" ]
then
# Do something here
fi
非常感谢!
答案 0 :(得分:1)
您是否尝试将表达式重写为
if [[ -e "${OAMPROXY_BKOUT_SPF}" && "${IS_GENERIC_RETROFIT}" = "no" ]]
then
# do something
fi
另外,当我听到'因为这个问题只能通过执行一个非常大的脚本重新生成(如果你直接在KSH窗口中执行ksh命令就不会发生错误)。',我的经验说,错误确实高于被标记的错误。最有可能是拼写错误的变量或可能无法比拟的支撑/支架或引用。
我敢打赌,当你有时间用-f进行测试时,你会得到同样的错误。
让我们知道它是怎么回事。