我正在写这个简单的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
变量赋值在=符号周围不能有空格:
原文链接:https://www.f2er.com/bash/387724.htmlarray=( /a/b/ /c/d ) ^--no spaces
你确定?
marc@panic:~$ array =(a b) bash: Syntax error near unexpected token `(' marc@panic:~$ array= (a b) bash: Syntax error near unexpected token `(' marc@panic:~$ array = (a b) bash: Syntax error near unexpected token `(' marc@panic:~$ array=(a b) marc@panic:~$ echo ${array[1]} b