gpt4 book ai didi

linux - 使用 bash 导入和导出变量 (read -p/input)

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:42 25 4
gpt4 key购买 nike

我有以下结构:

1.sh
2.sh
3.sh

所有这些脚本都放在all.sh中

1.sh 从用户(输入)获取变量(假设...answer)并在 1.sh 脚本中使用它。

read -p 'Answer is :  ' answer

我想要的只是将在 1.sh 中从用户获取的变量 answer 导出或导入到 2.sh 和 3.sh。

最佳答案

你有两个选择:

  1. 1.sh 输出 $answer 的值:echo "$answer",并将其捕获到一个变量中,然后将其作为参数传递给 2.sh3.sh:

    answer=$(1.sh)
    2.sh "$answer"
    3.sh "$answer"
  2. 不执行脚本,而是获取它们,以便它们由当前 shell 执行,而不是在新进程中执行。然后 1.sh 中设置的任何参数将可用于 2.sh3.sh

    source 1.sh  # sets a value for $answer
    source 2.sh
    source 3.sh

    一个细微的变化是在 1.sh 中运行 export answer;结果是您不必获取其他两个脚本的来源:

    source 1.sh
    2.sh # answer is inherited from the environment
    3.sh # answer is inherited from the environment

关于linux - 使用 bash 导入和导出变量 (read -p/input),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747259/

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