gpt4 book ai didi

shell - 如何在没有命令行参数的情况下将参数传递给子 shell(通过执行,而不是源代码)?

转载 作者:行者123 更新时间:2023-12-01 22:56:36 24 4
gpt4 key购买 nike

例如,我有一个主shell程序main.sh,还有一个子shell程序sub.sh。我想将变量 var 传递给子 shell,但我不想使用命令行参数。示例代码如下:

#In main.sh
a=1
./sub.sh

#In sub.sh
echo $a

我想看输出:1

我知道这个问题很奇怪,但这个功能最适合我的需要。我无法获取 sub.sh,因为在实际程序中我有很多变量要传入...谢谢!

编辑:如果我在后台运行 sub.sh 需要 10 个小时,我想运行另一个 sub.sh 怎么办> 在另一个变量 b 的前台?

最佳答案

你只是有一个额外的换行符:

#In main.sh
a=1 ./sub.sh

这实际上与 1_CR 的答案相同,但演示了将值传递给 sub.sh 的环境而不是修改 sub.sh 的当前环境的技术> 继承。

由于这是环境的每个进程修改,您可以根据需要重复。

a=1 ./sub.sh &
a=3 b=9 ./sub.sh &

sub.sh 的每个实例都看到了不同的 a 值,第二个实例也看到了 b 的值。

关于shell - 如何在没有命令行参数的情况下将参数传递给子 shell(通过执行,而不是源代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com