我一直在使用数组处理 Bash 脚本。我不断收到这条消息,“糟糕的替代品”。所以我用谷歌搜索了这个问题,我想出的每个例子都应该有效,但在我的电脑上却没有。这是一个简单的脚本,据说可以工作。
#!/bin/bash
o="12345"
a=o
b=${!a}
echo ${a}
echo ${b}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,我得到了这个......
bob@Bobz-DT:~/IStests/test script$ sh test4.sh test4.sh: 4: test4.sh: 替换错误
我正在运行 Ubuntu 14.04 并且 Bash 版本是... GNU bash,版本 4.3.11(1)-release (x86_64-pc-linux-gnu)
有人可以告诉我这是怎么回事吗???
Ter*_*nce 11
您需要以 asbash而不是sh.
所以,运行它
bash test.sh
Run Code Online (Sandbox Code Playgroud)
另一种方式,您可以execute通过执行在文件上设置位
chmod +x test.sh
Run Code Online (Sandbox Code Playgroud)
然后只需运行您的脚本
./test.sh
Run Code Online (Sandbox Code Playgroud)
因为您已经将命令行解释器 ( shebang ) 作为第一行#!/bin/bash。