shell 脚本中的变量,如何跨脚本使用?

首先考虑到使用source, 但用source也是实际上也是执行了一遍脚本,如何通过其他方式调用变量呢?

# a.sh
var1=3
# b.sh 这个脚本中想使用 var1 变量
bash a.sh
echo $var1

相关文章

17 thoughts on “shell 脚本中的变量,如何跨脚本使用?

  1. source 会执行一遍 a.sh ,而我自己本身也需要通过 bash 执行一遍 a.sh ,如果只看这里,就觉得用 source 替代 bash 不就行了。可问题是我这个 a.sh 有命令行参数,source 不支持给 a.sh 传参数,所以困惑住了

  2. 变量都是运行时的,你想访问就得解决同步的问题。source 也是一样的,规定了顺序而已。

  3. 问:shell 脚本中的变量,如何跨脚本使用?
    答:用 win,linux 通用的 powershell,并使用$global:abc=1

    问:首先考虑到使用 source, 但用 source 也是实际上也是执行了一遍脚本,如何通过其他方式调用变量呢?
    答:
    本质上来讲,shell 脚本这块天生残废,没有按照跨脚本设计,也就没有跨脚本的功能。
    本质上来讲,无法实现跨脚本使用变量。
    $global:abc=1 在 powershell 中叫做全局变量。
    本质上来讲 shell,和 py 里没有全局变量。看清楚,py (本质!)没有全局变量。

    ps 第 14 课:变量的作用域
    我在我写的课程里,有详细讲。
    powershell 脚尊神殿。群=183173532 。入群索要教程。

发表评论

电子邮件地址不会被公开。 必填项已用*标注