我正在写这个简单的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
变量赋值在=符号周围不能有空格:
- array=( /a/b/ /c/d )
- ^--no spaces
你确定?