我已经尝试了很多,但无法从中得到解决方案。我有一个简单的脚本:
#! /bin/sh
o="12345"
a=o
b=${!a}
echo ${a}
echo ${b}
执行时像
$ . scp.sh
它产生正确的输出,没有错误,但执行时如下:
$ ./scp.sh
它产生
./scp.sh: 4: ./scp.sh: 替换错误
任何想法为什么会发生这种情况。
有人建议我使用 bash 模式,它工作正常。但是当我通过 Python 执行这个相同的脚本(将脚本头更改为 bash)时,我得到了同样的错误。
我从 Python 中将其称为:
import os
os.system(". ./scp.sh")