bash配置文件/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc详解及修改PATH环境变量
2016-04-07 16:51
1061 查看
1.bash的配置文件
1)、全局配置与个人配置
全局配置
/etc/profile, /rtc/profile.d/*.sh,/etc/bashrc
个人配置
~/.bash_profile,~/.bashrc
2)、各配置文件解析:
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,
该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置,
/etc/bashrc:为每一个运行bashshell的用户执行此文件,当bash
shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,
当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
3)、profile类的文件与basrc类的文件区别:
profile类的文件:
设定环境变量
运行命令或脚本
basrc类的文件:
设定本地变量
定义命令别名
4)、shell如何读取配置文件
登录式shell如何读取配置文件
/etc/profile -->/etc/profile.d/*.sh
-->~/.bash_profile --> ~/.bashrc-->/etc/bashrc
非登录式shell如何配置文件
~/.bashrc -->/etc/bashrc-->/etc/profile.d/*.sh
2、export临时导入环境变量
$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。
编辑你的 PATH
声明,其格式为:
PATH=$PATH:PATH1:PATH 2:PATH 3: ... :PATH N
其中PATHN
为自己加上指定路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ source .bash_profile
完成后,可以通过 $ echo $PATH
或者 export命令查看当前的搜索路径。
这样定制的好处在于可以避免频繁的启动位于
shell 搜索的路径之外的程序
注意:该方法添加的PATH
在终端关闭后就会消失。
实例1:export命令将新变量添加到环境中
[gz_fieldyang@ test ~]$ export -p
#显示当前环境
declare -x CVS_RSH="ssh"
...
declare -x HISTSIZE="1000"
declare -xHOME="/home/gz_fieldyang"...
declare -xPATH="/usr/local/git/bin.../home/gz_fieldyang/bin:"
...
[gz_fieldyang@ test ~]$ echo $PATH
#查看当前路径
/usr/local/git/bin.../home/gz_fieldyang/bin
[gz_fieldyang@ test ~]$PATH=$PATH:/USER/LOCAL/BIN:/THIS/IS/A/TEST
#更新PATH
[gz_fieldyang@ test ~]$ export PATH
#导出PATH
[gz_fieldyang@ test ~]$ export
...
declare -xPATH="/usr/local/git/bin.../home/gz_fieldyang/bin:/USER/LOCAL/BIN:/THIS/IS/A/TEST"
...
3、永久生效
可以通过编辑/etc/profile来改PATH,也可以改家目录下的.bashrc(即:~/.bashrc)
实例2:export命令将新变量添加到环境中(永久生效)
[gz_fieldyang@ test ~]$ readonly hours_per_day=24
#定义变量并赋值
[gz_fieldyang@ test ~]$ export PATH=$PATH:/usr/local/bin
#更新PATH
[gz_fieldyang@ test ~]$ export PATH
[gz_fieldyang@ test ~]$ export -P
[gz_fieldyang@ test ~]$ echo $PATH
/usr/local/git/bin.../home/gz_fieldyang/bin:/usr/local/bin
[gz_fieldyang@ test ~]$ echo $hours_per_day
24
[gz_fieldyang@ test ~]$ vim /etc/profile
...
exportPATH="$PATH:/usr/local/bin"
:wq
[gz_fieldyang@ test ~]$ source /etc/profile
不报错则成功。
[gz_fieldyang@ test ~]$ vi .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
exportPATH="$PATH:/usr/local/bin"
[gz_fieldyang@ test ~]$ source .bashrc
不报错则成功。
1.bash的配置文件
1)、全局配置与个人配置全局配置
/etc/profile, /rtc/profile.d/*.sh,/etc/bashrc
个人配置
~/.bash_profile,~/.bashrc
2)、各配置文件解析:
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,
该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置,
/etc/bashrc:为每一个运行bashshell的用户执行此文件,当bash
shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,
当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
3)、profile类的文件与basrc类的文件区别:
profile类的文件:
设定环境变量
运行命令或脚本
basrc类的文件:
设定本地变量
定义命令别名
4)、shell如何读取配置文件
登录式shell如何读取配置文件
/etc/profile -->/etc/profile.d/*.sh
-->~/.bash_profile --> ~/.bashrc-->/etc/bashrc
非登录式shell如何配置文件
~/.bashrc -->/etc/bashrc-->/etc/profile.d/*.sh
2、export临时导入环境变量
$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。
编辑你的 PATH
声明,其格式为:
PATH=$PATH:PATH1:PATH 2:PATH 3: ... :PATH N
其中PATHN
为自己加上指定路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ source .bash_profile
完成后,可以通过 $ echo $PATH
或者 export命令查看当前的搜索路径。
这样定制的好处在于可以避免频繁的启动位于
shell 搜索的路径之外的程序
注意:该方法添加的PATH
在终端关闭后就会消失。
实例1:export命令将新变量添加到环境中
[gz_fieldyang@ test ~]$ export -p
#显示当前环境
declare -x CVS_RSH="ssh"
...
declare -x HISTSIZE="1000"
declare -xHOME="/home/gz_fieldyang"...
declare -xPATH="/usr/local/git/bin.../home/gz_fieldyang/bin:"
...
[gz_fieldyang@ test ~]$ echo $PATH
#查看当前路径
/usr/local/git/bin.../home/gz_fieldyang/bin
[gz_fieldyang@ test ~]$PATH=$PATH:/USER/LOCAL/BIN:/THIS/IS/A/TEST
#更新PATH
[gz_fieldyang@ test ~]$ export PATH
#导出PATH
[gz_fieldyang@ test ~]$ export
...
declare -xPATH="/usr/local/git/bin.../home/gz_fieldyang/bin:/USER/LOCAL/BIN:/THIS/IS/A/TEST"
...
3、永久生效
可以通过编辑/etc/profile来改PATH,也可以改家目录下的.bashrc(即:~/.bashrc)
实例2:export命令将新变量添加到环境中(永久生效)
[gz_fieldyang@ test ~]$ readonly hours_per_day=24
#定义变量并赋值
[gz_fieldyang@ test ~]$ export PATH=$PATH:/usr/local/bin
#更新PATH
[gz_fieldyang@ test ~]$ export PATH
[gz_fieldyang@ test ~]$ export -P
[gz_fieldyang@ test ~]$ echo $PATH
/usr/local/git/bin.../home/gz_fieldyang/bin:/usr/local/bin
[gz_fieldyang@ test ~]$ echo $hours_per_day
24
[gz_fieldyang@ test ~]$ vim /etc/profile
...
exportPATH="$PATH:/usr/local/bin"
:wq
[gz_fieldyang@ test ~]$ source /etc/profile
不报错则成功。
[gz_fieldyang@ test ~]$ vi .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
exportPATH="$PATH:/usr/local/bin"
[gz_fieldyang@ test ~]$ source .bashrc
不报错则成功。
相关文章推荐
- Linux IP代理筛选系统(shell+proxy)
- Linux IP代理筛选系统(shell+proxy)
- shell_sctipts: 删除mysql备份到最后7日
- shell常用命令总结(转)
- 使用 git commit -m 命令写多行注释
- win7下, 修改git bash的默认开始路径
- linux关于bashrc与profile的区别(转)
- xshell中Ctrl+S锁定屏幕
- LINUX下使用Shell自动监控tomcat并且执行重启操作 --谷营中西软件科技园
- Xshell中文乱码怎么处理?
- scp -r authorized_keys zdb14:~/.ssh/ root@zdb14's password: bash: scp: command not found lost conn
- shell编程之环境配置文件
- 如何进行shell脚本正确性测试
- 终极 Shell
- linux shell重定向总结
- HBase 基本shell命令
- Windows PowerShell 管理 Office 365
- 修改gnome-shell扩展“Applications Menu”的菜单区域宽度。
- shell-文本处理工具
- bash