在 Linux 上使用 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”存在于局部变量中,但不存在于环境变量中。如果您重新启动终端、注销/登录或运行exec bash,LOL 将消失。
设置一个局部变量,然后清除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 $