linux - 导出不通过另一个脚本工作

标签 linux bash shell redhat

我想从另一个脚本 (3funding.sh) 的不同位置导出脚本 (details.sh) 中的变量,但无法执行,尽管我给出了正确的命令在 3funding.sh 文件中。

问题是,我可以手动完成,例如退出 3funding.sh 并执行以下命令:

. ./{path}/details.sh

但我不想从 3funding.sh 文件中退出,因为我的项目正在运行 10 多个脚本。

谁能帮我解决这个问题,为什么不能从另一个脚本和同一服务器上的其他位置导出变量。

我在 details.sh 中测试过以下条目

$ cat details.sh
#!/bin/bash

qlid_aa185="aa185"
name_anshul="anshul"
qlid_dk185="dk185"
name_dibya="dibya"
qlid_ff44="ff44"
name_ffff="ffff"

需要echo $qlid_aa185 来显示结果aa185,无需任何手动导出。

最佳答案

解释的有点乱。您要将变量从 details.sh 脚本导入到 3funding.sh 吗?如果我理解正确,那么您需要执行以下操作:

细节.sh

#!/bin/bash

export qlid_aa185="aa185"
export name_anshul="anshul"
export qlid_dk185="dk185"
export name_dibya="dibya"
export qlid_ff44="ff44"
export name_ffff="ffff"

3funding.sh

#!/bin/bash

source <path>/details.sh

echo "Imported variables:"
echo "- qlid_aa185: $qlid_aa185"
echo "- qlid_ff44: $qlid_ff44"

如果您运行上述示例中的脚本 3funding.sh,您将收到:

Imported variables:
- qlid_aa185: aa185
- qlid_ff44: ff44

关于linux - 导出不通过另一个脚本工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50509945/

相关文章:

linux - 提取 zip 文件,然后使用不同的文件名将其 cd 进去

bash - 如何在没有 git 二进制文件的情况下获取当前的 git 标签?

linux - Python3 root sudo venv

linux - 我收到错误语法错误:”(“意外”

Bash:如何结合 watch 使用别名命令

c - 如何处理 ls | C 中的 "pipe"命令

linux - 如何从 "parent"bash 文件调用变量?

linux - 如何导出 linux/Shell 脚本中两个工作区文件夹之间的差异?

c - lseek读取/proc/pid/mem的偏移量

linux - awk 查找字符串并下划线打印