存储数组值Unix Solaris Korn Shell时出现语法错误问题

时间:2014-02-13 14:56:40

标签: linux shell unix solaris ksh

这是我在shell脚本中的命令。

x=($(echo $x1 | cut -f3 -d" " | cut -f1 -d"]"))
  第818行的

语法错误:`('意外

如果我将此行删除

注意:在Solaris OS中运行相同的脚本时,它会抛出错误。

2 个答案:

答案 0 :(得分:0)

这取决于你的ksh版本:

ksh93的

$ ksh --version
  version         sh (AT&T Research) 93u+ 2012-08-01

$ x1="one two three]four"
$ x=($(echo $x1 | cut -f3 -d" " | cut -f1 -d"]"))
$ echo ${x[0]}
three

ksh88

$ what /usr/bin/ksh
/usr/bin/ksh:
        Version M-11/16/88i
        SunOS 5.8 Generic 110662-24 Apr 2007

$ x1="one two three]four"
$ x=($(echo $x1 | cut -f3 -d" " | cut -f1 -d"]"))
ksh: syntax error: `(' unexpected

答案 1 :(得分:0)

执行下面一个它将工作..使用ksh ..

x1="test1 test2 test3]testarray test"
x="$(echo $x1 | cut -f3 -d" " | cut -f1 -d"]")"
echo $x