首先考虑到使用source, 但用source也是实际上也是执行了一遍脚本,如何通过其他方式调用变量呢?
# a.sh
var1=3
# b.sh 这个脚本中想使用 var1 变量
bash a.sh
echo $var1
首先考虑到使用source, 但用source也是实际上也是执行了一遍脚本,如何通过其他方式调用变量呢?
# a.sh
var1=3
# b.sh 这个脚本中想使用 var1 变量
bash a.sh
echo $var1
1
ALLLi Apr 1, 2020 via Android
export
|
2
CallMeReznov Apr 1, 2020
可以设置成环境变量
|
3
MeteorCat Apr 1, 2020 via Android
写本地文件,另外脚本读
|
4
css3 OP |
5
oeagut Apr 1, 2020 via iPhone
记得之前看教程,一个很傻瓜的办法就是 echo 出来,变通一下
|
6
fanhed Apr 1, 2020
echo 出来, 需要考虑转义
然后其他脚本捕获后直接 eval |
9
yangbonis Apr 2, 2020 via iPhone
变量都是运行时的,你想访问就得解决同步的问题。source 也是一样的,规定了顺序而已。
|
11
wd Apr 2, 2020 via iPhone
你去搜下 subshell
|
12
secsilm Apr 2, 2020 via Android
需求简单的话就写本地文件,这样方便修改和管理
|
13
MilkShake Apr 2, 2020
最好写到本地文件中
|
14
tankren Apr 2, 2020
第一个 shell 结尾把要传递的变量 export 到环境变量然后执行第二个 shell
|
15
FH0 Apr 2, 2020
var1=$var1 bash b\.sh
|
16
ps1aniuge Apr 2, 2020
问:shell 脚本中的变量,如何跨脚本使用?
答:用 win,linux 通用的 powershell,并使用$global:abc=1 问:首先考虑到使用 source, 但用 source 也是实际上也是执行了一遍脚本,如何通过其他方式调用变量呢? 答: 本质上来讲,shell 脚本这块天生残废,没有按照跨脚本设计,也就没有跨脚本的功能。 本质上来讲,无法实现跨脚本使用变量。 $global:abc=1 在 powershell 中叫做全局变量。 本质上来讲 shell,和 py 里没有全局变量。看清楚,py (本质!)没有全局变量。 ps 第 14 课:变量的作用域 我在我写的课程里,有详细讲。 powershell 脚尊神殿。群=183173532 。入群索要教程。 |
17
sunziren Apr 2, 2020
嗯,学到了学到了。
|