【发布时间】:2021-03-19 14:42:22
【问题描述】:
是否可以在 bash 脚本in the way it is done in C++ 中通过引用来使用变量?
假设我有一个如下脚本:
#!/bin/bash
A="say"
B=$A
echo "B is $B"
A="say it"
echo "B is $B" # This does not get the new value of A but is it possible to using some trick?
即使A 的值已从say 更改为say it,您也可以在上面的脚本中看到echo "B is $B 输出B is say。我知道像B=$A 这样的重新分配会解决它。但我想知道B 是否有可能持有对A 的引用,以便B 在A 更新后立即更新它的值。这发生在没有重新分配 B=$A 的情况下。这可能吗?
我从Lazy Evaluation in Bash 中了解到envsubst。是按照方法来做的吗?
A="say"
B=$A
echo "B is $B"
envsubst A="say it"
echo "B is $B"
【问题讨论】:
-
@TheWaterProgrammer 是的。现在好多了。 Bash 没有参考资料,但您可以按照 KamilCuk 的建议进行操作。