在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
什么是tcsh setenv
Bash中的功能?
有直接模拟吗?环境变量用于查找可执行文件.
export VAR=value
将VAR设置为值.如果你想要空格,请用单引号括起来export VAR='my val'
.如果要插入变量,请使用双引号export VAR="$MY_OTHER_VAR"
.
人们经常建议写作的原因
VAR=value export VAR
而不是更短
export VAR=value
更长的形式是在比短形式更多不同的壳中起作用.如果你知道你正在处理bash
,当然要么工作正常.
检查Bash中名为LOL的变量的本地变量或环境变量:
el@server /home/el $ set | grep LOL el@server /home/el $ el@server /home/el $ env | grep LOL el@server /home/el $
完整性检查,没有称为LOL的本地或环境变量.
在本地设置一个名为LOL的局部变量,但不在环境中设置.所以设置它:
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 $
变量'LOL'存在于局部变量中,但不存在于环境变量中.如果重新启动终端,注销/登录或运行,LOL将消失exec bash
.
设置局部变量,然后清除Bash中的所有局部变量
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 $
您也可以取消设置一个变量:
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 $
局部变量LOL消失了.
将局部变量提升为环境变量:
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
请注意,导出使其显示为局部变量和环境变量.
上面导出的变量DOGE在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'
取消设置所有环境变量:
您必须拔出一罐Chuck Norris来重置所有环境变量而无需注销/登录:
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
您创建了一个环境变量,然后重置终端以摆脱它们.
或者您可以手动设置和取消设置环境变量,如下所示:
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
它也将用于子进程.
export VAR=value
是两者的简写.
我想你正在寻找export
- 虽然我可能是错的..我以前从未玩过tcsh.使用以下语法:
export VARIABLE=value