Linux export命令

Linux export命令

export命令用于将变量导出到子进程。

这是什么意思?

假设你有一个这样定义的变量TEST:

TEST="test"

你可以打印它的值使用echo $TEST:

Linux export命令

但如果你尝试定义一个Bash脚本script.sh,将上面的命令写入该文件:

Linux export命令

然后设置chmod u+x script.sh然后用./script执行这个脚本。echo $TEST行不会打印任何东西!

这是因为在Bash中,测试变量是在shell本地定义的。当执行一个shell脚本或另一个命令时,启动一个子shell来执行它,它不包含当前的shell本地变量。

要使这里的变量可用,我们需要定义TEST,下面的代码是错误的:

TEST="test"

我们应该这样定义:

export TEST="test"

尝试一下,运行./script.sh,现在应该会打印“test”:

Linux export命令

有时需要向变量添加一些内容。这通常是通过PATH变量完成的。你可以使用下面语法:

export PATH=$PATH:/new/path

当您以这种方式创建新变量时,通常会使用导出,但是当您使用Bash在.bash_profile或.bashrc配置文件中创建变量,或者在.zshenv中使用Zsh创建变量时,也会使用导出。

要删除一个变量,使用-n选项:

export -n TEST

不使用任何选项调用export将列出所有导出的变量。

(0)
上一篇 2020年10月29日 下午11:51
下一篇 2020年10月30日 下午11:38

相关推荐

发表回复

登录后才能评论