功能失败 - shell脚本从Bash转换为Korn

时间:2013-08-29 19:36:24

标签: bash ksh

我写了一个shell脚本,它在运行bash shell的服务器上进行数据操作。

我的脚本有一个功能,可以检索ZIP文件中的数据

function getCTLfile() {
  for i in ${Array[@]}; do 
    if [[ `echo ${i}|awk -F . '{print $NF}'` == "ctl" ]]; then 
      echo "${i}" 
    fi
  done
}

它工作得很好但是这台机器硬件有问题所以我们的系统管理员要求我将我的代码移植到另一台运行Korn shell的服务器上。

当我运行我的脚本时,它在我的功能上失败了!!即使我从命令行输入它。

$ function getCTLfile() {
-ksh: syntax error: `(' unexpected

我是否需要在任何地方更改语法?我做了一些研究,似乎一切都应该有效。

1 个答案:

答案 0 :(得分:6)

ksh中的函数声明语法使用function关键字括号,但不能同时使用两者。请忽略括号或function关键字,它应该有效。