Linux环境变量行为

时间:2017-04-12 19:01:59

标签: linux bash ubuntu centos redhat

如果没有设置env变量如何在bash上工作,在下面的例子中,我想删除一个我以前已经设置过的linux目录,但是由于我没有设置变量,操作正在进行要对所有事情执行,我想帮助理解它是如何工作的?以及如何避免这种情况?

     ubuntu@osn:~$ sudo rm -rf $I_HOME/$I_VERSION/
     rm: it is dangerous to operate recursively on ‘//’ (same as ‘/’)
     rm: use --no-preserve-root to override this failsafe

1 个答案:

答案 0 :(得分:0)

因为你没有设置变量,所以它们的默认值是''所以你的语句变为:

sudo rm -rf //

当你这样说时:

SOMEVAR="someValue"

它为当前的bash进程创建并设置env变量。 要为bash创建的所有进程设置变量,你可以这样写:

export SOMEVAR="someValue"

您还可以通过将此行添加到.bashrc文件中,将变量添加到所有未来的bash进程中。