首页 文章

如何删除导出的环境变量?

提问于
浏览
1237

在安装gnuplot之前,我设置了环境变量 GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src . 在安装过程中出现了问题 .

我想删除 GNUPLOT_DRIVER_DIR 环境变量 . 我怎样才能实现它?

4 回答

  • 146

    因为原始问题没有提到变量是如何设置的,并且因为我到这个页面寻找这个特定的答案,所以我添加了以下内容:

    在C shell(csh / tcsh)中,有两种方法可以设置环境变量:

    • set x = "something"

    • setenv x "something"

    行为的不同之处在于,使用 setenv 命令设置的变量会自动导出到子shell,而使用 set 设置的变量则不会 .

    要使用 set 取消设置变量集,请使用

    unset x
    

    要使用 setenv 取消设置变量集,请使用

    unsetenv x
    

    注意:在上述所有内容中,我假设变量名称为“x” .

    积分:

    https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7-reference/0130200484/0130200484_ch18lev1sec24.html

  • 1994

    在bash中创建和删除环境变量的演练:

    Test if the DUALCASE variable exists:

    el@apollo:~$ env | grep DUALCASE
    el@apollo:~$
    

    It does not, so create the variable and export it:

    el@apollo:~$ DUALCASE=1
    el@apollo:~$ export DUALCASE
    

    Check if it is there:

    el@apollo:~$ env | grep DUALCASE
    DUALCASE=1
    

    It is there. So get rid of it:

    el@apollo:~$ unset DUALCASE
    

    Check if it's still there:

    el@apollo:~$ env | grep DUALCASE
    el@apollo:~$
    

    DUALCASE导出的环境变量将被删除 .

    有助于清除本地和环境变量的额外命令:

    Unset all local variables back to default on login:

    el@apollo:~$ CAN="chuck norris"
    el@apollo:~$ set | grep CAN
    CAN='chuck norris'
    el@apollo:~$ env | grep CAN
    el@apollo:~$
    el@apollo:~$ exec bash
    el@apollo:~$ set | grep CAN
    el@apollo:~$ env | grep CAN
    el@apollo:~$
    

    exec bash 命令清除了所有局部变量,但没有清除环境变量 .

    Unset all environment variables back to default on login:

    el@apollo:~$ export DOGE="so wow"
    el@apollo:~$ env | grep DOGE
    DOGE=so wow
    el@apollo:~$ env -i bash
    el@apollo:~$ env | grep DOGE
    el@apollo:~$
    

    env -i bash 命令在登录时将所有环境变量清除为默认值 .

  • 5

    unset 是您正在寻找的命令 .

    unset GNUPLOT_DRIVER_DIR
    
  • 1

    这也可行 .

    export GNUPLOT_DRIVER_DIR=
    

相关问题