我想从另一个脚本 (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/