linux - 如何在脚本中获取在控制台中设置的变量

标签 linux bash console sh

我想将在控制台中设置的变量传递给脚本。在这种情况下不推荐使用参数。 “额头决定”不起作用:

$ echo 'echo $VAR' > script.sh
$ cat ./script.sh
echo $VAR
$ ./script.sh

$ VAR=1
$ ./script.sh

$

但我希望结果 1

最佳答案

您需要“导出”该变量,以便它被生成的进程继承:

$ echo 'echo $VAR' > script.sh
$ cat ./script.sh
echo $VAR
$ chmod a+x ./script.sh
$ ./script.sh

$ VAR='hello world'
$ export VAR
$ ./script.sh
hello world
$

$ VAR='hello world'
$ export VAR

可以在 bash 中缩短:

export VAR='hello world'

关于linux - 如何在脚本中获取在控制台中设置的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40017576/

相关文章:

c - 为什么害怕段错误?

php - 在 python 和 php 之间共享变量

c++ - 寻求将构建工具链从 bash/grep/sed/awk/(auto)make/configure 重新实现为更理智的东西(例如 boost.build 等)

bash - 如何在 Bash 中重复一个字符?

asp.net - 将 .less 错误记录到控制台

android - Xamarin Android - 关闭 Mono 日志

linux - Linux-RedHat Fedora Unity 2D 安装

linux - 查找二进制文件的标准方法?

bash - 从命名管道流式传输音频

jquery - 以编程方式单击 Chrome 控制台中页面上的所有按钮