为什么我的数组对于我的 shell 脚本不正确?

发布于 2024-12-20 17:32:42 字数 163 浏览 2 评论 0原文

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

我在这里做错了什么:

array=( 1 2 3 4 5 ) 11.10

我使用的是 Ubuntu

I have been searching everywhere for an answer to this question. I have an array in my shell script, but when I run it, I get this error: "(" unexpected

What am I doing wrong here:

array=( 1 2 3 4 5 )

I am using Ubuntu 11.10

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

束缚m 2024-12-27 17:32:43

您正在使用 /bin/sh 运行脚本,而不是 /bin/bashsh 中没有数组。

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

You are running your script with /bin/sh, not /bin/bash. There are no arrays in sh.

choroba@cyan ~$ /bin/sh
$ a=( 1 2 3 )
/bin/sh: Syntax error: "(" unexpected
此岸叶落 2024-12-27 17:32:43

你在使用 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
$ 

are you using 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
$ 
迷途知返 2024-12-27 17:32:43

有时也是因为额外的空间:

array = (1 2 3 4)

不正确。应该是:

array=(1 2 3 4)

Also sometime it's because of extra space:

array = (1 2 3 4)

is not right. It should be:

array=(1 2 3 4)
旧城空念 2024-12-27 17:32:43

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

$ bash script.sh

Try specifying the word bash when running the script as follows:

$ bash script.sh
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文