Linux 在*nix中,我们可以只为一个命令生成脚本吗?

Linux 在*nix中,我们可以只为一个命令生成脚本吗?,linux,bash,shell,unix,Linux,Bash,Shell,Unix,在shell脚本中,我需要调用一个java程序,该程序需要使用脚本设置一组环境变量,因为java程序将位于循环中,并且设置环境变量的源脚本将在每次迭代中更改,所以上一次迭代设置的环境变量会干扰下一次迭代 我知道有一种方法可以只为当前命令设置变量[VAR1=value myScript]。使用脚本作为源而不是变量也可以做到这一点。正如David C.Rankin所指出的,使用子shell: (source ./your_script; ./your_java_program) 通过将代码包装在(

在shell脚本中,我需要调用一个java程序,该程序需要使用脚本设置一组环境变量,因为java程序将位于循环中,并且设置环境变量的源脚本将在每次迭代中更改,所以上一次迭代设置的环境变量会干扰下一次迭代


我知道有一种方法可以只为当前命令设置变量[VAR1=value myScript]。使用脚本作为源而不是变量也可以做到这一点。

正如David C.Rankin所指出的,使用子shell:

(source ./your_script; ./your_java_program)

通过将代码包装在
(…)
中,在子shell中执行命令。例如
(VAR1=value;一些其他命令)
。您可以使用命令替换指定结果,例如,
result=$(VAR1=value;一些其他命令)
或在读取-r行时使用
stdin
上的输出与进程替换
;做萨弗;完成<