【问题标题】:How to pass the variables from one ksh script to another ksh script in Linux如何将变量从一个 ksh 脚本传递到 Linux 中的另一个 ksh 脚本
【发布时间】:2020-09-24 17:00:58
【问题描述】:

我有以下 2 个脚本

Script1.ksh

      Some  Code

      Var1 = value1

      Var2 = value2

      Var3 = value3

Script2.ksh

     Ksh path/Script1.ksh

     #Trying to use Var1, Var2, Var3 in below code.
     
      Some Code

我想在Script2.ksh 中使用这些Var1,Var2,Var3 值。我在网上搜索并尝试了导出选项,但没有成功。请帮助我解决这个问题。

【问题讨论】:

  • 一个简单的方法是从脚本 1 写一个本地的myapplication.env 来设置变量文件并在脚本 2 中读取它source .myapplication.env
  • Var1Var2Var3 是 Script1.ksh 中的局部变量。当运行该脚本的进程终止时,这些变量不再存在。 export 使变量在 Script1.ksh 的子进程环境中可用,但这不相关,因此 export 无法帮助您。您需要某种形式的 IPC。
  • 我建议您检查如何设置环境变量。
  • 我最喜欢做这些事情的方式是脚本中的env -i VARNAME1='Value1' VARNAME2='Value2' scripname.sh。无需使用export VARNAME1='Value1'。例如,我经常将它用于 X DISPLAY 变量。

标签: linux ksh


【解决方案1】:

在 script2 中,当你这样做时

ksh path/to/script1.ksh

启动一个新的 ksh 进程,执行脚本(设置变量),然后进程退出,带走变量。

您需要使用. 命令(或其别名source)来读取当前进程中的script1

source path/to/script1.ksh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 2020-06-09
    • 2011-02-08
    • 2015-04-18
    • 2014-07-01
    • 1970-01-01
    相关资源
    最近更新 更多