1. > 电脑手机 >

bashrc添加环境变量(bashrc如何添加环境变量)

怎么在.bashrc中设置环境变量

# .bashrc

set JAVA_HOME=/usr/j2sdk

export JAVA_HOME

set PATH=$PATH:$JAVA/bin

export PATH

set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export CLASSPATH

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

重启后 echo $JAVA_HOME没有

JAVA -version也不行,说明设置不行

Mac下添加环境变量

其中a和b是系统级别的,系统启动就会加载,其余是用户级别的。

c,d,e按照从前往后的顺序读取,

如果c文件存在,则后面的几个文件就会被忽略不读了,

以此类推。

~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

建议在c中添加环境变量,

以下也是以在c中添加环境变量来演示的:

bashrc添加环境变量(bashrc如何添加环境变量)bashrc添加环境变量(bashrc如何添加环境变量)


然后打开zsh的配置文件~/.zshrc

在~/.zshrc最下边添加如下内容:

最后退出终端,重新启动,再次进入zsh的时候,会生效配置文件。通过env查看添加的环境变量是否生效。

Linux-配置环境变量

1、系统位置,/etc目录下的bashrc、profile、environment三个文件

2、用户目录(root或普通用户)下的.bashrc、.bash_profile两个文件,注意这两个文件前面都有点,是隐藏文件。

按变量的周期划为永久变量和临时性变量2种:

永久变量:通过修改配置文件,配置之后变量永久生效。

临时性变量:使用命令如export等命令设置,设置之后马上生效。当关闭shell的时候失效(这种主要用于测试比较多)。

按照影响范围分为用户变量和系统变量2种:

用户变量(局部变量):修改的设置只对某个用户的路径或执行起作用;

系统变量(全局变量):影响范围是整个系统。

export命令显示当前系统定义的所有环境变量,运行返回结果如下:

echo $PATH命令输出当前的PATH环境变量的值,运行返回结果如下:

直接用export命令修改PATH值 (重启终端后配置失效)

export PATH=$PATH:/home/sphc/software/bin

该文件为当前用户配置文件,修改后,作用于当前用户的环境变量。

该文件为当前用户配置文件,修改后,作用于当前用户的环境变量。

/etc/bashrc为系统环境配置文件,需要管理员权限(如root)或者对该文件的写入权限,修改后,作用于所有用户。

/etc/profile为系统全局配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。

/etc/environment为系统环境配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。

linux环境变量配置

Shell变量有局部变量、环境变量之分。局部变量就是指在某个Shell中生效的变量,只在此次登录中有效。环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当前Shell的变量,需要使用export内建命令将其导出为环境变量。

bashrc添加环境变量(bashrc如何添加环境变量)bashrc添加环境变量(bashrc如何添加环境变量)


按变量的生存周期划分:

永久的:需要修改配置文件,变量永久生效。

临时的:使用export命令声明即可,变量在关闭shell时失效。

在配置永久的环境变量时,又可以按照作用范围分为:

用户环境变量

系统环境变量。

系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。

全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。

不要轻易修改此文件

用户环境变量通常被存储在下面的文件中:

若bash是以login方式执行时,读取 ~/.bash_profile ,若它不存在,则读取 ~/.bash_login ,若前两者不存在,读取 ~/.profile 。

若bash是以login方式执行时,读取 ~/.bash_profile ,若它不存,则读取 ~/.bash_login ,若前两者不存在,读取 ~/.profile 。

只有bash是以login形式执行时,才会读取.bash_profile,Unbutu默认没有此文件,可新建。 通常该配置文件还会配置成去读取 ~/.bashrc 。

当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

~/.bash_profile 是交互式、login 方式进入 bash 运行的

~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

如想将一个路径加入到环境变量(例如$PATH)中,可以像下面这样做(修改/etc/profile):

你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:

bash会在用户登录时,读取下列四个环境配置文件:

全局环境变量设置文件: /etc/profile 、 /etc/bashrc 。 用户环境变量设置文件: ~/.bash_profile 、 ~/.bashrc 。

读取顺序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc 。

2 .bashrc 和 .bash_profile 的区别

.bash_profile 会用在登陆shell, .bashrc 使用在交互式非登陆 shell 。简单说来,它们的区别主要是 .bash_profile 是在你每次登录的时候执行的; .bashrc 是在你新开了一个命令行窗口时执行的。

当通过控制台进行登录(输入用户名和密码):在初始化命令行提示符的时候会执行.bash_profile 来配置你的shell环境。但是如果已经登录到机器,在Gnome或者是KDE也开了一个新的终端窗口(xterm),这时,.bashrc会在窗口命令行提示符出现前被执行。当你在终端敲入/bin/bash时.bashrc也会在这个新的bash实例启动的时候执行。

所以对于我自己,我写了一个 .pathrc 文件

然后在 .bashrc , .zshrc , .bash_profile , /etc/profile 中都加了

下面是 .pathrc 文件

bashrc添加环境变量(bashrc如何添加环境变量)bashrc添加环境变量(bashrc如何添加环境变量)


现在,当你从控制台登录机器的时候,.bashrc就会被执行。

四、常用的环境变量

BASH Bash Shell的全路径

CDPATH 用于快速进入某个目录。

PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

LANGUGE 语言相关的环境变量,多语言可以修改此环境变量

MAIL 当前用户的邮件存放目录

PS1 基本提示符,对于root用户是#,对于普通用户是$

Reference

[1] /etc/profile、/etc/bashrc、 /.bash_profile、 /.bashrc

[2] Linux如何修改env看到的环境变量? .bashrc和.bash_profile区别

[3] linux环境变量,bashrc与bashprofile

在linux里怎么设置环境变量啊,用env可以看

设置Linux的环境变量的方法是这样的,首先可以在终端直接输入:变量名=内容 的方式来临时设置,但是这种方式设置的效果在重新登录后就失效了。所以环境变量的设置一般是写在配置文件中,那对环境变量的修改应该写在哪个配置文件中呢?

如果想让设置只对当前用户有效,就需要在~/.bashrc文件中添加设置,以修改PATH这个环境变量为例,需要在~/.bashrc这个配置文件添加的内容格式就像是如下两行这样:

PATH="$PATH":/root

export PATH

也可以将两行设置写成一行:

export PATH="$PATH":/root

如果想让环境变量的设置对所有用户都有效,则需要把设置添加到/etc/profile这个全局配置文件中,添加的格式和~/.bashrc这个文件一样。

最后,修改完配置文件后,如果想让设置马上生效,还需要运行source命令,比如:source ~/.bashrc,否则设置只在下次登录时才会生效(也就是说要重新登录)。

修改环境变量

经常遇到安装了一个工具之后,直接输入命令找不到,需要进入相应的bin目录下通过./xxx的方式运行。主要是找不到路径的原因,可以通过设置环境变量的方式解决(原文地址: MAC 设置环境变量path的几种方法 ):

mac 一般使用bash作为默认shell

Mac系统的环境变量,加载顺序为:

/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

如果没特殊说明,设置PATH的语法都为:

#中间用冒号隔开

export PATH=$PATH::::------:

(一)全局设置

下面的几个文件设置是全局的,修改时需要root权限

1)/etc/paths (全局建议修改这个文件 )

编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径

Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。

2)/etc/profile (建议不修改这个文件 )

全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

3)/etc/bashrc (一般在这个文件中添加系统级环境变量)

全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。

4)

1.创建一个文件:

sudo touch /etc/paths.d/mysql

2.用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑):

sudo vim /etc/paths.d/mysql

3.编辑该文件,键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了)

/usr/local/mysql/bin

据说,这样可以自己生成新的文件,不用把变量全都放到 paths 一个文件里,方便管理。

(二)单个用户设置

1)~/.bash_profile (任意一个文件中添加用户级环境变量)

(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!默认情况下,他设置一些环境变量

设置命令别名alias ll=’ls -la’

设置环境变量:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

2)~/.bashrc 同上

如果想立刻生效,则可执行下面的语句:

$ source 相应的文件

一般环境变量更改后,重启后生效

如何修改.bashrc文件设置环境变量

/etc/profile的设置方法对所有登录的用户都有效。

~/.bashrc只对当前用户有效。

上面两个都是配置文件,开机后,系统会先读取/etc/profile,再读~/.bashrc。

不同的用户~/.bashrc文件可以有不同的设置,而/etc/profile则是共用一个,只有root才能修改。

~/.bashrc对/etc/profile有追加覆盖的效果。

如何在linux 下设置环境变量

设置环境变量,如果想让设置只对当前用户有效,需要在~/.bashrc文件中添加设置,设置格式是:

export 变量名=内容

如果想让环境变量的设置对所有用户都有效,需要把设置添加到/etc/profile这个全局配置文件中,添加的内容格式和在~/.bashrc中的一样。

修改完配置文件后,如果想让设置马上生效,还需要用source命令:source ~/.bashrc,否则设置只在下次重新登录时才会生效。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息