版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/78357935
常用命令
set 查询所有正在运行的变量
- -u 当查看不存在的变量时会提示报错
unset 删除变量(不是删除值,不需要加$)
unset name
env 只查看环境变量
export 声明环境变量
export 变量名=变量值
export 变量名
常用环境变量
- HOSTNAME: 主机名
- SHELL:当前shell
- TERM: 终端环境
- HISTSIZE: 历史命令条数
- SSH_CLIENT:记录客户端ip
- SSH_TTY:ssh连接的终端
- USER:当前登录的用户
PS1 变量
- \d:日期”星期 月 日”
- \H:显示完整的主机名
- \t:显示24小时制时间 “HH:MM:SS”
- \A:显示24小时制时间 “HH:MM”
- \u:显示当前用户名
- \w:显示当前所在目录的完整名称
- \W:显示当前所在目录的最后一个目录
- $:提示符
语系变量
- locale 查询正在使用系统语系
- locale -a 查看支持的所有语系
/etc/sysconfig/i18n
默认语系环境(下次开机后的环境)LANG:定义系统主语系的变量
- LC_ALL:定义整个语系的变量
位置变量
位置参数变量 | 作用 |
---|---|
n|n为数字,0代表命令本身,1 9 代表第一到第九个参数。十以上的参数需要用大括号包含,如${10} | |
∗|代表命令行中的所有参数(不包括0),把所有参数当成一个整体 | |
@|代表命令好中的所有参数(不包括0),把所有参数区分对待 | |
$# | 代表命令行中所有参数的个数 |
预定义变量
预定义变量 | 作用 |
---|---|
$? | 最后一次执行的命令的返回状态。如果这个 变量的值是0,证明上一个命令正确执行;如果这个变量的值为非零(由命令自己决定),则证明上一个命令执行不正确 |
$$ | 当前进程的进程号(PID) |
$! | 后台运行的最后一个进程的进程号(PID) |
read 用户输入
read [选项] [变量名]
- -p “提示信息”:在等待read输入时,输出提示信息
- -t 秒数 :等待用户输入,制定等待时间
- -n 字符数:直接受指定的字符数,就会执行
- -s :隐藏输入的数据
运算符
declare 声明变量类型
declare [+/-] [选项] 变量名
- -:给变量设定类型属性
- +:取消变量的类型属性
- -a:数组型
- -i:整数型
- -x:环境变量
- -r:只读变量
- -p:显示指定变量的被声明类型
使用下标访问数组
- array[0] : 访问第一个
- array : 访问第一个
- array[*] :访问所有的元素
# 整形
a=1
b=2
declare -i c=$a+$b
echo $c
---
3
array[0]=a
array[1]=b
declare -a array[3]=${array[0]}${array[1]}
echo "array[0]":${array[0]}
echo "array":${array}
echo "array[*]":${array[*]}
echo "array[2]":${array[2]}
declare -p 查看变量的所有类型。如果不加变量名就表示显示所有变量的所有类型
[root@localhost test]# declare -p c
declare -i c="3"
数值运算
expr 或 let 数值运算工具
- result=(exprnum1+num2)** 或 **result=`exprnum1+$num2`
- let “result=num1+num2”
[root@localhost test]# a=1
[root@localhost test]# b=2
[root@localhost test]# c=$(expr $a+$b)
[root@localhost test]# echo $c
3
[root@localhost test]# let "d=$a+$b"
((运算式))或[运算式]
[root@localhost test]# c=$(($a+$b))
[root@localhost test]# d=$[$a+$b]
变量测试
较复杂。。。