我正在呼叫If IsNull(Me!tbx_outTSDatum_BQC.Value) Then
Me!tbx_outTSDatum_BQC.Value = Me!tbx_inTSDatum_BQC.Value
End If
。我试图在我调用的第二个bash脚本中操作具有硬编码值的变量。我无法控制脚本,并且正在构建一个包装器,以便在它最终启动Uncle
构建之前调整一些构建行为。我不确定在阅读和尝试大量例子之后还有什么可尝试的。
情况的例子:
yocto
IS_DEV=1 ./build2.sh #trying to override value
我在调用IS_DEV=0 # hardcoded value
echo $IS_DEV
# always results in 0.
之前尝试过export IS_DEV=1
。
我确定这很简单,但我似乎无法让它发挥作用。我感谢任何帮助。这可能吗?我在build2.sh
上使用GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
。
哦,我也尝试过没有运气的采购技术。
Ubuntu 16.04.4 LTS
我在哪里弄错了?
非常感谢。
答案 0 :(得分:4)
如果您无法修改脚本,请执行它的修改版本。
sed 's/^IS_DEV=0 /IS_DEV=1 /' build2.sh | sh
显然,如果你需要Bash语义而不是POSIX bash
语义,请管道到sh
。
如果脚本真的硬编码一个值而无法从命令行覆盖它,那么修改该脚本是唯一可行的解决方法。但修改可能是短暂的;上面对脚本执行简单替换,然后通过管道将修改后的临时副本传递给新的shell实例以供执行。修改仅存在于管道中,不会影响build2.sh
的磁盘版本。