> CentOS > CentOS入门 >

CentOS变量基本命令

1.变量的分类

1)用户自定义变量 
2)环境变量: 这种变量中主要保存的是和系统操作环境相关的数据 
3)位置参数变量: 这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是用来固定的 
4)预定义变量: 是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

2.自定义变量

名称由数字、下划线、字母组成,但是开头不能用数字,如”2Name” 
注意: 
1)变量等号两边不能有空格 
2)若有空格,则用 ” “” 括起来 
3)用”\”转义符,可使特殊符号失效如: “\$name” 
4)如果要进行变量叠加,可用”$变量名” 或者 ${变量名} 
5)若把命令结果作为变量值,则用反引号(不推荐) 或者 \$()包名命令 
6)环境变量名建议大写 
举例: 
aa=”test” echo $aa 就是输出test 
aa=123 aa=”$aa”456 输出什么呢? 
set 变量查看命令 
unset + 变量名 删除变量命令

3.环境变量

exprot 变量名=变量值 申请变量 
env 查询变量 
unset 删除变量名 
PATH: 系统查找命令路径(系统查找命令是有默认排序和路径) 
PATH=”$PATH”:/root 变量叠加(临时) 
环境变量的PS1: 
定义系统提示符的变量,也就是[主机名@……]# 那个东西 
查询显示当前的配置命令: echo $PS1 
更换的格式为:PS1=’[ …… ]$ ’ (记得最后留个空格,更好输入命令) 
选项包括: 
\d 显示日期,格式为”星期 月 日” 
\h 显示简写主机名,如默认主机名为”localhost” 
\t 显示24小时制时间,格式为”HH:MM:SS” 
\T 显示12小时制时间,格式为”HH:MM:SS” 
\A 显示24小时制时间,格式为”HH:MM” 
\u 显示当前用户名 
\w 显示当前所在的目录的完整名称 
\W 显示当前所在的目录的最后一个目录 
\# 执行的第几条命令 
\$ 提示符,如果是root用户则会显示”#”,如果是普通用户则显示”$

4.位置参数与预定义

位置参数一般在shell里使用 
$n n为数字,0代表命令本身,十以上参数用大括号括起来 
$* 代表把命令行所有参数,$*都看作一个整体 
$@ 表示所有参数,但是每个参数区别对待 
$# 代表命令行、参数的个数预定义可与echo一起使用 
$? 判断上一个命令,为0则为正确执行,非0则为错误(具体数,由命令决定) 
$$ 当前进程号 
$! 后台运行最后一个进程号

5.declare 声明变量类型

declare [+/-] [选项] 变量名 
- : 给变量设定类型属性 
+: 取消给变量设定类型属性 
-i 将变量声明为整数型 
-x 将变量声明为环境变量 =>exprot 
-p 显示指定变量的被声明类型

6.expr 或 let 数值运算工具

如: 
aa=11 bb=22 
dd=$(expr $aa + $bb) 注意!+号两边必须要有空格 
常用 “ $((运算)) ” 或者 “$[运算]” 
如: ff=$(($aa + $bb)) 
运算符的优先级: 
 
变量测试与内容替换: 测试变量内容或者是否替换,从输出x看结果 

7.环境变量配置

source 配置文件 和 . 配置文件 
上面两种配置文件直接生效,不用重启(注意有个点) 
下面是五个默认配置文件: 
/etc/profile 
/etc/profile.d/*.sh (所有以.sh结尾) 
/etc/bashrc 
这三个对所有用户都有效 
~/.bash_profile 
~/.bashrc 
用户命令下,这两个对特定的用户有效

注销时生效的环境变量配置文件: 
~/.bash_logout 
~/.bash_history

8.shell登陆信息

(登陆之前) 
/etc/issue (本地登录) 
/etc/issue.net (在远程终端欢迎信息) 
Ps.需在ssh配置文件/etc/ssh/sshd_config中 
#Banner ………… 下,加入Banner /etc/issue.net 
再重启,service sshd restart 
/etc/motd 直接vim操作,可以显示(登陆之后的提示信息)

变量这一块确实是个难点,不仅仅很多配置文件,更是要熟记于心,加油。



(责任编辑:IT)