本文共 3141 字,大约阅读时间需要 10 分钟。
四类变量从上往下依次自由度越来越小,优先级越来越低
[root@localhost ~]# name=lhx[root@localhost ~]# name="lu hong xuan"
[root@localhost ~]# aa=123[root@localhost ~]# aa="$aa"456[root@localhost ~]# aa=${aa}789
[root@localhost ~]# echo $name
# 查看所有变量[root@localhost ~]# set
[root@localhost ~]# unset name
# 临时定义[root@localhost ~]# export name=lhx[root@localhost ~]# age=19[root@localhost ~]# export age# 永久定义
[root@localhost ~]# env
[root@localhost ~]# unset name
PATH:系统查找命令的路径(中间用:隔开,通过变量叠加的方式实现)
PS1:定义系统提示符的变量
修改系统提示符,建议使用默认。参数 | 描述 |
---|---|
\d: | 显示日期,格式为“星期 月 日” |
\h: | 显示简写主机名。如默认主机名“localhost” |
\t: | 显示24小时制时间,格式为“HH:MM:SS” |
\T: | 显示12小时制时间,格式为“HH:MM:SS” |
\A: | 显示24小时制时间,格式为“HH:MM” |
\u: | 显示当前用户名 |
\w: | 显示当前所在目录的完整名称 |
\W: | 显示当前所在目录的最后一个目录 |
#: | 执行的第几个命令 |
$: | 提示符。如果是root用户会显示提示符为“#”,如果是普通用户会显示提示符为“$ |
示例:
[root@localhost ~]# PS1='[\u@\t \w]\$ '[root@04:50:08 /usr/local/src]#PS1='[\u@\@ \h \# \W]\$‘[root@04:53 上午 localhost 31 src]#PS1='[\u@\h \W]\$
转义符 | 作 用 |
---|---|
\d | 显示当前系统日期 |
\s | 显示操作系统名称 |
\l | 显示登录的终端号,这个比较常用。 |
\m | 显示硬件体系结构,如i386、i686等 |
\n | 显示主机名 |
\o | 显示域名 |
\r | 显示内核版本 |
\t | 显示当前系统时间 |
\u | 显示当前登录用户的序列号 |
位置参数变量 | 作 用 |
---|---|
$n | n为数字,$0代表命令本身,**$1- 9 代 表 第 一 到 第 九 个 参 数 ∗ ∗ , 十 以 上 的 参 数 需 要 用 大 括 号 包 含 , 如 9代表第一到第九个参数**,十以上的参数需要用大括号包含,如 9代表第一到第九个参数∗∗,十以上的参数需要用大括号包含,如{1} |
$* | 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 |
$@ | 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待 |
$# | 这个变量代表命令行中所有参数的个数 |
预定义变量 | 作 用 |
---|---|
$? | 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。 |
$$ | 当前进程的进程号(PID) |
$! | 后台运行的最后一个进程的进程号(PID) |
shell中变量默认字符串类型,设置为数值类型,即可进行运算。
declare [+/-][选项] 变量名
选项:[root@localhost ~]# aa=11[root@localhost ~]# bb=22#给变量aa和bb赋值[root@localhost ~]# declare -i cc=$aa+$bb
[root@localhost ~]# aa=11[root@localhost ~]# bb=22#给变量aa和变量bb赋值[root@localhost ~]# dd=$(expr $aa + $bb)#dd的值是aa和bb的和。注意“+”号左右两侧必须有空格
[root@localhost ~]# aa=11[root@localhost ~]# bb=22[root@localhost ~]# ff=$(( $aa+$bb ))[root@localhost ~]# gg=$[ $aa+$bb ]
规则及其复杂和反人类,如果发现shell脚本中用到了,来查表即可。
转载地址:http://ywsoi.baihongyu.com/