我有一个打开两个文件的bash脚本,其中包含以下内容:
文件1:
#!/bin/bash
a='Sunday'
file2的:
#!/bin/bash
b=$a
这是我的代码段:
#!/bin/bash
. file1
. file2
echo $b
OUTPUT:星期日
这是我的问题:
我在shell脚本中打开file1时变量'a'的范围是什么?
如何使用这种范围创建shell变量?如下所示:
#!/bin/bash
a='Sunday'
. file2
echo $b
这可能吗?
答案 0 :(得分:2)
使用.
获取脚本执行该文件中的命令,就好像它们是内联编写的一样。采购不会引入额外的范围或环境。
无论是直接编写还是使用该行编写脚本,编写a='Sunday'
都会产生相同的效果:它会在脚本的其余部分创建一个全局变量。这也解释了为什么file2
可以看到$a
,因为b=$a
也会内联执行。