当前位置: 首页 > 知识库问答 >
问题:

我可以从Bash脚本导出一个变量到环境中而不需要提供它吗?

公羊灿
2023-03-14
#! /usr/bin/env bash
export VAR="HELLO, VARIABLE"
echo $VAR

是否有一种方法可以通过执行export.bash来访问$var而不提供源代码?

共有1个答案

邵修诚
2023-03-14

是否有任何方法可以通过执行export.bash而不提供源代码来访问$var

快速回答:没有。

但有几种可能的变通办法。

$ cat set-vars1.sh 
export FOO=BAR
$ . set-vars1.sh 
$ echo $FOO
BAR
$ cat set-vars2.sh
#!/bin/bash
echo export FOO=BAR
$ eval "$(./set-vars2.sh)"
$ echo "$FOO"
BAR
$ cat set-vars3.sh
#!/bin/bash
export FOO=BAR
exec "$@"
$ ./set-vars3.sh printenv | grep FOO
FOO=BAR
 类似资料:
  • 我需要导出很多变量,比如export x1=1 export x2=2 我移动了文件中的所有变量。环境和尝试 源代码 之后我处决了 所有这些变量都不在环境变量列表中。我还尝试了

  • 我有两个shell脚本: 第一个:<代码>1。sh,其内容如下: 第二:<代码>2。sh,其内容如下: 两者都具有执行权限。当我运行<代码>2时。sh,我希望环境变量PROP由1设置和导出。sh,对。这里怎么了?

  • 问题内容: 我正在尝试从我的Perl程序中运行Bash命令。但是Perl似乎使我的Bash $ PWD环境变量与Perl变量混淆了。 我如何才能将其全部读取为字符串? 这就是我要运行的 这些反引号在Bash中运行第二行。使用System()会产生相同的问题。 有任何想法吗? 问题答案: 这里有两个查询,关于使用Bash变量和运行外部命令。 Perl中有哈希,带有环境变量 但是,通常最好在脚本中使用

  • 问题内容: 我有一个Perl脚本,其中有一个类似的变量。我们可以将$ name的内容设置为可以导入其他文件并在其他文件中使用的环境变量吗? 我尝试过,但是这不起作用。 问题答案: 如果要影响您的进程或子进程的环境,请使用哈希: 如果要影响父进程的环境,则不会。至少没有父进程的合作。标准过程是发出shell脚本并让父进程执行该shell脚本: …并从shell(脚本)中调用该脚本为:

  • 我必须从我的 Groovy 脚本访问一个环境变量。我没有使用詹金斯。如何获取变量?

  • 问题内容: 我有一个脚本来设置交叉编译所需的所有变量。这只是其中的一部分: 如果这样做,所有环境变量都将导入到当前的Shell会话中,并且可以编译我的示例。 是否可以在cmake中导入这些变量?如果是,怎么办? 更多细节: 我正在使用ELDK v 5.4,它的安装脚本生成一个脚本,该脚本设置所有环境变量 我找到了本教程,该教程说明了如何手动设置交叉编译,但没有说明如何使用脚本来设置所有内容 如果我