1.bash环境配置文件
登录到系统后,会执行一些文件来初始化bash的环境参数,如环境变量,系统语系编码等。
执行文件的顺序为:
/etc/profile -> ~/.bash_profile
profile是系统级别的配置文件,最好不要修改它,它主要负责环境变量的初始化,和执行其他配置文件。
执行profile之后,可能会在执行
/etc/inputrc
/etc/profile.d/*.sh
修改配置文件之后是不会立刻生效,需要重新登录或使用source来执行一次配置文件,”.”符号也可以,和source效果一样。
详细看《鸟哥私房菜基础篇》P323图11-5
2.变量
echo可以查看变量内容,需要在变量前加$符号,如 echo $PATH。
unset可以删除一个变量,如 unset path。
env可以查看所有环境变量。
set可以查看所有环境和自定义变量。
变量设置规则
a)变量名,等号和变量内容之间不能有空格,如 name=kotori。
b)可以使用单引号和双引号将变量内容括起来,区别是双引号会保留特殊字符的特性,如name=“my path is $PATH”,PATH会输出实际的变量值。
c)可以使用\符号来转义特殊字符为一般字符。
d)可以使用`和$()在其他命令或值中使用命令,如 name=“my name is $(uname -r)”或 name=“my name is `uname -r`" 会输出"my name is 内核版本号”。
e)export可以将一个变量变成环境变量,如 export path。
常用环境变量
HOME 用户主文件夹
SHELL 用的是哪个shell程序,默认是/bin/bash
HISTSIZE 历史命令的条数
MAIL 用户邮件的路径
PATH 执行文件查找的路径
LANG 系统语系
RANDOM 产生一个随机数,0~32767之间,该随机数的产生文件在/dev/random
追加变量的内容
path="$PATH”:mypath,:mypath会累加到path变量中。
删除变量的内容
语法:${var#exp}
${}在删除模式中是必须的,var是要操作的变量名,#号表示从左往右删除,匹配最短的一个,##则表示匹配最长的一个,#号替换为%号表示从右往左删除,exp是查找表达式,如:
path=$PATH;
echo ${path#*bin*:}
替换变量的内容
语法:${var/search/newstr}
从var中查找search,用newstr替换,单个斜杠表示找出一个即可,双斜杠表示找出所有。