使用“-e”选项测试文件时遇到“test:argument expected”

时间:2011-01-30 07:01:46

标签: testing ksh

执行以下代码段时,始终会出现错误“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

非常感谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试将表达式重写为

if [[ -e "${OAMPROXY_BKOUT_SPF}" && "${IS_GENERIC_RETROFIT}" = "no" ]]
then
  # do something
fi

另外,当我听到'因为这个问题只能通过执行一个非常大的脚本重新生成(如果你直接在KSH窗口中执行ksh命令就不会发生错误)。',我的经验说,错误确实高于被标记的错误。最有可能是拼写错误的变量或可能无法比拟的支撑/支架或引用。

我敢打赌,当你有时间用-f进行测试时,你会得到同样的错误。

让我们知道它是怎么回事。