bash的配置文件,

按范围分:

全局配置:

      /etc/profile,

      /etc/profile.d/*.sh

      /etc/bashrc

个人配置:

      ~/.bash_profile

      ~/.bashrc

按功能分:

profile类:为交互式登录shell提供配置

      /etc/profile,

      /etc/profile.d/*.sh

      ~/.bash_profile

            1, 定义环境变量,如PATH

            2,运行命令或脚本

bashrc类:为非交互登录时shell提供配置

      /etc/bashrc

      ~/.bashrc

            1,用来提供命令别名

            2,定义本地变量

变量:变量名就是指针,指向变量

类型:

环境变量:当前shell及其子进程

            export name=value

            declare –x name=value

本地变量:仅当前进程

            name = value

局部变量:当前shell进程中的某代码片段

位置变量:$1,$2

特殊变量:$?

定义方式:

bash内置变量,无需定义,可直接调用。PATH

自定义变量:

            赋值方法:变量名 = 值

            自增:name=”$name dddddd”

弱类型!!!默认均保存为字符型

pstree可以查询进程树

查看环境变量

env

printenv

export

撤销变量

unset name

引用变量

$name ${name}

引用符号

‘’强引用,变量替换不会发生

“”弱引用

``命令引用,引用命令的执行结果

shell登录类型:

交互式:直接终端  su - username

非交互式:图形界面 su username

登录时的作用次序

交互式:/etc/profile —> /etc/profile.d/*.sh —> ~/.bash_profile

           后面执行的覆盖前面的

非交互式:~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh

新配置如何生效:

1,重新登录

2,重读配置文件

      source /PATH/TO?SOMEFILE

      . /PATH/TO?SOMEFILE

 

实验之后再更正:

1、如何定义对所用用户都生效的别名?

/etc/bashrc我猜测是在这里修改,

2、如果仅需要PATH环境变量的修改仅对root用户生效,该如何操作

      ~/.bashrc修改root的这个文件