【发布时间】:2012-06-17 01:53:07
【问题描述】:
我正在编写这个简单的 bash 脚本,如下所示。
#!/bin/bash
array=( /home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf )
echo ${array[@]}
我希望它打印数组中所有文件的名称。但我得到了这个错误:
test.sh: 3: Syntax error: "(" unexpected
如果我将数组的声明更改为
array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}
这个错误消失了,但我仍然有新的错误
test.sh: 3: array: not found
test.sh: 4: Bad substitution
我该如何解决这个问题?这是我第一次使用 shell 编程,所以我无法自己解决问题。
已解决:
我以 sh test.sh 的形式执行它,但我忘了我必须以 bash test.sh
的形式执行它【问题讨论】:
-
这不是关联数组。这是一个普通的数字索引数组。
-
@DennisWilliamson 哦,好的。我会编辑它
-
@user1357576:将解决方案发布为答案并将其标记为已接受,不要将其编辑到问题中。另外,不要编辑标题来解决它,当您接受答案时,网站会将问题标记为已解决。