加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

数组 – Bash数组:意外语法错误[已关闭]

发布时间:2020-12-15 19:14:05 所属栏目:安全 来源:网络整理
导读:我正在写这个简单的bash脚本如下。 #!/bin/basharray=( /home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf )echo ${array[@]} 我希望它打印数组中文件的所有名称。但是我得到这个错误: test.sh: 3: Syntax error: "(" unexpected 如果我更改
我正在写这个简单的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

你确定?

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读