Linux Shell变量
BASH SHELL变量主要分为4种:
用户自定义变量、环境变量、位置变量、预定义变量。
本文主要介绍这4种变量:
1、用户自定义变量
只能作用于当前Shell,变量取值都是一个字符串
DAY=date “=”左右两边不能有空格
DAY=“today is date” 若含有空格,则需要加双引号
echo $DAY $调用变量,echo打印输出
unset DAY 删除变量
set 该命令查看系统所有变量及其值
2、环境变量
全局的,所有Shell都可以调用的变量
export DAY=date export命令就是将变量导出为环境变量
env env命令是查看系统所有的环境变量
环境变量PATH:为系统命令搜索的路径。
PATH="$PATH":/usr/sbin 即添加/usr/sbin目录也为PATH变量,若想要永久更改环境
变量,需要修改环境变量配置文件。
3、变量参数
$n n为数字,$0代表命令本身,$1-$9代表第1-9个参数,10以上的需要用大括号${10}
$* 代表命令行中所有参数,$*把所有参数当做一个整体
$@ 代表命令行所有参数,$@把每个参数区分对待
$# 代表命令行中参数的个数
$? 最后一次执行的命令的返回状态。若为0,则表示命令执行正确;若为非0,
代表上一条指令执行错误。
$$ 当前进程的进程ID号
$! 后台运行的最后一个进程的进程号
4、环境变量配置文件
4.1 souce命令 修改配置文件后使之生效
souce 配置文件
或者 .配置文件
如:souce /etc/profile ; ./.bash_profile
4.2 常用环境变量配置文件:
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
4.3 其他环境变量配置文件
01.注销时生效的文件:~/.bash_logout 如可以在每次注销时清空历史命令,将history
-c写入该文件(但一般不建议)
02.历史命令保存文件:~/.bash_history
03.本地Shell登录欢迎信息:/etc/issue
该文件中用到的转义符,/d显示当前系统日期,/s操作系统名称,/m硬件体系结构,/r内
核版本,/t系统时间,/l登录的终端
号,/o域名,/n主机名
04.远程登录欢迎信息:/etc/issue.NET
要显示此信息,需要SSH配置文件/etc/ssh/sshd_config中要加入“Banner /etc/issue.Net”
05.登录欢迎信息:etc/motd
不管是本地还是远程登录都能显示此信息。