bash有没有办法在不设置变量的情况下取消导出变量?

Bre*_*dan 28 unix bash shell environment sh

是否有可能export在Bash中使用变量,然后取消导出它,而不是完全取消它?即它仍然可用于当前shell,但不适用于子进程.

你可以随时做到这一点,但它很难看(我很好奇):

export FOO

#...

_FOO=$FOO
unset FOO
FOO=$_FOO
Run Code Online (Sandbox Code Playgroud)

关于其他炮弹的答案也被接受了.

Joh*_*ica 31

export -n FOO
Run Code Online (Sandbox Code Playgroud)

来自help export:

选项:

  • -f 参考shell函数
  • -n 从每个NAME中删除导出属性
  • -p 显示所有导出的变量和函数的列表