Shell介绍
Shell:命令解释器,是用户和系统沟通的媒介,用户通过Shell输入命令,得到返回结果
Linux包含各种Shell,默认采用的是Bash
系统可用的Shell记录在/etc/shells中
一个简单的shell脚本: 输出hellworld和当前时间
Bash shell的配置文件
系统设定值
- /etc/profile : 这个文件设定了几个重要的变量,如 PATH,USER,MAIL,HOSTNAME,HISTSIZE等。
- /etc/bashrc: 这个文件用于规划umask。
- etc/man.config:规划了man page的路径
个人设定值
- ~/.bash_profile:定义了个人路径与环境变量的文件名称
- ~/.bashrc:设定个人变量
- ~/.bash_history:记录历史命令
- ~/.bash_logout:注销shell的时候BASH为你所做的事情,通常只有清屏
source 重新读入变量配置文件
- 用法:
// source 变量配置文件
例:source .bashrc
// env 查看当前用户的所有环境变量
env
环境变量配置文件区别:
/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的。
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
~/.bash_profile: 每个用户都可以使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件积极执行一次!默认情况下,它设置一些环境变量,执行用户.bashrc文件。
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取。
~/.bash_logout: 当每次推出系统(退出bash shell)时,执行该文件.另外,/etc/profile中设定的变量(全局)可以作用于任何用户,而 ./bashrc等中设定的变量(局部)只能继承 /etc/profile 中的变量,他们是 “父子” 关系。
~/.bash_profile: 是交互式, login 方式进入bash运行的; /.bashrc 是交互式, no-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
环境变量查看与设置命令:
- 显示环境变量HOME
$echo $HOME
/home/redbookd
- 设置一个新的环境变量hello
$export HELLO="Hello!"
$echo $HELLO
Hello
- 使用env命令显示所有的环境变量
$env
使用set命令显示所有本地定义的Shell变量
使用unset命令来清除环境变量