现在我有:
脚本A:
export var1="path"
export var2="test"
export var3="message"
/path/to/scriptB "$var1" "$var2" "$var3"
这是有效的,我可以访问脚本B中的变量值,但我不希望其他调用脚本B的脚本影响这些全局变量值。有没有办法通过脚本调用传递值而不首先将变量导出到全局范围?
感谢您的帮助。
答案 0 :(得分:2)
即使您导出了变量,子shell也可以读取它们,在本地更改它们,但永远不会在scriptA
中更改它们(除非脚本被称为源为.
前缀)
无论如何,由于您将变量作为scriptB
的参数传递,因此您甚至不需要export
。
var1="path"
var2="test"
var3="message"
/path/to/scriptB "$var1" "$var2" "$var3"
只需将其引用为scriptB
个参数:$1
,$2
和$3
如果确实希望使用scriptB
中的姓名访问它们,请在scriptB
var1="$1"
var2="$2"
var3="$3"