为什么我的数组不适合我的shell脚本?

时间:2011-12-09 07:11:51

标签: arrays bash sh

我一直在寻找这个问题的答案。我的shell脚本中有一个数组,但是当我运行它时,我收到此错误:"(" unexpected

我在这里做错了什么:

array=( 1 2 3 4 5 )

我正在使用Ubuntu 11.10

4 个答案:

答案 0 :(得分:10)

您使用/bin/sh而不是/bin/bash运行脚本。 sh中没有数组。

choroba@cyan ~$ /bin/sh
$ a=( 1 2 3 )
/bin/sh: Syntax error: "(" unexpected

答案 1 :(得分:0)

你正在使用bash吗?

$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)
Copyright (C) 2007 Free Software Foundation, Inc.
$ array=( 1 2 3 4 5 )
$ echo ${array[1]}
2
$ 

答案 2 :(得分:0)

还有一段时间是因为额外的空间:

array = (1 2 3 4)

不对。它应该是:

array=(1 2 3 4)

答案 3 :(得分:0)

在运行脚本时尝试指定单词bash,如下所示:

$ bash script.sh