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

前端之家收集整理的这篇文章主要介绍了数组 – Bash数组:意外语法错误[已关闭]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写这个简单的bash脚本如下。
  1. #!/bin/bash
  2.  
  3. array=( /home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf )
  4. echo ${array[@]}

我希望它打印数组中文件的所有名称。但是我得到这个错误

  1. test.sh: 3: Syntax error: "(" unexpected

如果我更改数组的声明

  1. array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}

这个错误消失了,但我仍然有新的错误

  1. test.sh: 3: array: not found
  2. test.sh: 4: Bad substitution

如何解决这个问题?这是我第一次在shell编程中,所以我无法自己解决问题。

解决

我正在执行它作为sh test.sh但我忘了我不得不执行它作为bash test.sh

变量赋值在=符号周围不能有空格:
  1. array=( /a/b/ /c/d )
  2. ^--no spaces

你确定?

  1. marc@panic:~$ array =(a b)
  2. bash: Syntax error near unexpected token `('
  3. marc@panic:~$ array= (a b)
  4. bash: Syntax error near unexpected token `('
  5. marc@panic:~$ array = (a b)
  6. bash: Syntax error near unexpected token `('
  7. marc@panic:~$ array=(a b)
  8. marc@panic:~$ echo ${array[1]}
  9. b

猜你在找的Bash相关文章