使用Bash在Linux中设置环境variables

tcsh ,我有以下脚本工作:

 #!/bin/tcsh setenv X_ROOT /some/specified/path setenv XDB ${X_ROOT}/db setenv PATH ${X_ROOT}/bin:${PATH} xrun -d xdb1 -i $1 > $2 

什么是相当于Bash的tcsh setenv函数?

有没有直接的模拟? 环境variables用于查找可执行文件。

export VAR=value将VAR设置为值。 用单引号括起来,如果你想要空格,就像export VAR='my val' 。 如果你想插入variables,使用双引号,如export VAR="$MY_OTHER_VAR"

人们经常build议写作的原因

 VAR=value export VAR 

而不是更短

 export VAR=value 

更长的forms是比短forms在更多不同的壳中起作用。 如果你知道你正在处理bash ,当然可以正常工作。

在Linux上使用Bash设置本地和环境variables

检查在Bash中名为LOL的variables的本地variables或环境variables:

 el@server /home/el $ set | grep LOL el@server /home/el $ el@server /home/el $ env | grep LOL el@server /home/el $ 

完整性检查,没有本地或环境variables称为大声笑。

在本地设置名为LOL的本地variables,但不是环境。 所以设置它:

 el@server /home/el $ LOL="so wow much code" el@server /home/el $ set | grep LOL LOL='so wow much code' el@server /home/el $ env | grep LOL el@server /home/el $ 

variables“LOL”存在于局部variables中,而不是环境variables。 如果你重新启动terminal,注销/login或者运行exec bash ,LOL将会消失。

设置一个局部variables,然后清除Bash中的所有局部variables

 el@server /home/el $ LOL="so wow much code" el@server /home/el $ set | grep LOL LOL='so wow much code' el@server /home/el $ exec bash el@server /home/el $ set | grep LOL el@server /home/el $ 

你也可以只取消一个variables:

 el@server /home/el $ LOL="so wow much code" el@server /home/el $ set | grep LOL LOL='so wow much code' el@server /home/el $ unset LOL el@server /home/el $ set | grep LOL el@server /home/el $ 

局部variablesLOL消失了。

将一个局部variables提升为一个环境variables:

 el@server /home/el $ DOGE="such variable" el@server /home/el $ export DOGE el@server /home/el $ set | grep DOGE DOGE='such variable' el@server /home/el $ env | grep DOGE DOGE=such variable 

请注意,导出使其显示为局部variables和环境variables。

上面导出的variablesDOGE存在一个Bash重置:

 el@server /home/el $ exec bash el@server /home/el $ env | grep DOGE DOGE=such variable el@server /home/el $ set | grep DOGE DOGE='such variable' 

取消设置所有环境variables:

你必须拿出一jar查克·诺里斯重置所有的环境variables没有注销/login:

 el@server /home/el $ export CAN="chuck norris" el@server /home/el $ env | grep CAN CAN=chuck norris el@server /home/el $ set | grep CAN CAN='chuck norris' el@server /home/el $ env -i bash el@server /home/el $ set | grep CAN el@server /home/el $ env | grep CAN 

您创build了一个环境variables,然后重置terminal以摆脱它们。

或者你可以像这样手动设置和取消设置一个环境variables:

 el@server /home/el $ export FOO="bar" el@server /home/el $ env | grep FOO FOO=bar el@server /home/el $ unset FOO el@server /home/el $ env | grep FOO el@server /home/el $ 

VAR=value将VAR设置为值。

在那之后, export VAR也会把它交给subprocess。

export VAR=value是一个缩写。

我想你正在寻找export – 虽然我可能是错的..我从来没有玩过tcsh之前。 使用以下语法:

 export VARIABLE=value