我在使用数组的 Bash 脚本中不断收到严重替换错误

我在使用数组的 Bash 脚本中不断收到严重替换错误

我一直在使用数组编写 Bash 脚本。我一直收到“错误替换”消息。因此,我使用 Google 搜索了这个问题,我发现每个示例都应能运行,但在我的计算机上却不行。下面是一个应能运行的简单脚本。

#!/bin/bash
o="12345"
a=o
b=${!a}
echo ${a}
echo ${b}

但是当我运行它时,我得到了这个......

bob@Bobz-DT:~/IStests/测试脚本$ sh test4.sh
test4.sh:4:test4.sh:错误替换

我正在运行 Ubuntu 14.04,Bash 版本是...... GNU bash,版本 4.3.11(1)-release(x86_64-pc-linux-gnu)

有人能告诉我发生了什么事吗?

答案1

bash您需要以而不是 的形式运行脚本sh

因此,运行它

bash test.sh

另一种方法是,您可以execute通过执行以下操作来设置文件上的位

chmod +x test.sh

然后只需运行你的脚本即可

./test.sh

因为您已经有了命令 shell 解释器(舍邦) 作为第一行#!/bin/bash

相关内容