shell编程,初始化数组 A=(abc def hijk) 报错 2: ./arr.sh: Syntax error: "(" unexpected

很简单的一个代码
#!/bin/sh
A=(abc def hijk)
echo $A

第1个回答  2014-08-14
不是有提示吗:Syntax error: "(" unexpected 左括号没有结束
Linux这玩意符号要特别注意 你在符号之间都加上空格试试看,我以前也遇见过这样的追问

加了,还是同样的报错

追答

字符串定义

第2个回答  2014-08-14

加上引号

#/bin/sh
A=("abc" "def" "hijk")
echo $A
echo ${A[0]}
echo ${A[1]}
echo ${A[2]}

追问

还是同样的报错

追答

有图有真像,提供你的真像

追问

追答

一、确保修改后存盘
二、如果还不对,可能和操作系统有关,你的linux版本是什么?也许是版本的问题吧

追问

这个版本是什么,我也不清楚。
老板让我学,我就学了。
不过还是谢谢你。

追答

uname -a命令可以看到

追问

Linux doc 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux

追答

向你学习!

本回答被网友采纳
第3个回答  2018-05-29
这个问题我也遇到过,找了很多资料到现在还没解决。
怀疑是和操作系统有关系,array(var1 var2 ……)这样的初始化方法对HP-UX不适用。
我是用另外一个办法进行初始化赋值的,相对来说有点繁琐,提供给你参考
arrayname [ num1 ] = "var1"
arrayname [ num2 ] = "var2"
像这样依次类推下去,一条一条的进行赋值,shell会自动创建数组变量,可以和for循环一起使用提高效率。
用echo "${arrayname[@]}"可以将数组里面所有值输出验证看看。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网