什么叫shell脚本?
把完成一个任务的所有命令,按照先后顺序,自上而下写在一个文本文件里,给予执行权限去执行。
^代表行首$代表行尾
但是在正则表达式中[^f]表示反选就是除了f以外匹配到的!
EOF:代表
[ 或者
]
bc : Linux微型计算器
scale=2
: 支持小数点
seq
按照指定格式 num%03g 格式输出。num 为前置字符串,
%03g 表示数字宽度为 3
,不足前置补 0。
[root@localhost ~]# seq -s ":::" -f "%03g" 98 101
098:::099:::100:::101
定时脚本
#!/bin/bash
for time in `seq 9 -1 0`;do
echo -n -e "\b$time"
sleep 1
done
echo
shell 基本输入
read命令
![](https://i-blog.csdnimg.cn/blog_migrate/1ec7d372c048f0b90b8d36bc996b3443.png)
变量分类
本地变量:用户私有变量,只有本用户可以使用,保存在家目录下是的.bash_profile、.bashrc文件中
全局变量:所有用户都可以使用,保存在/etc/bashrc文件中
用户自定义变量:用户自定义,比如脚本中的变量
定义变量
![](https://i-blog.csdnimg.cn/blog_migrate/9c020aeb88fcfc23f6206b2ec7b209c4.png)
取消变量unset
定义全局变量 export
定义数组
array=(1 2 3)
数组读出
${数组名称[索引]}
查看数组
declare -a
访问数组元素
# echo ${array1[0]}访问数组中的第一个元素
# echo ${array1[@]}访问数组中所有元素等同于echo ${array1[*]}# echo ${#array1[@]}统计数组元素的个数
# echo ${(!array2[@]}获取数组元素的索引# echo ${array1[@]:1}从数组下标1开始
# echo ${array1[@]:1:2}从数组下标1开始,访问两个元素
声明一个关联数组
declare -A ass_array1
脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用选项-e
格式:echo “\033”[背景颜色; 文字颜色m字符串\033[0m"
例如
1:背景颜色和文字颜色之间的英文的""2:文字颜色后面有个m3:字符串前后可以没有空格,如果有的话,输出也是同样有空格#下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配
#例:带m的是字体色,不带m是背景色;字体色要写在背景色后面
/033[0m #关闭所有属性
/033[1m #设置高亮度
/033[4m #下划线
/033[5m #闪烁
/033[7m #反显
/033[8m #消隐
shell指令字符
shell逻辑运算符
shell编程特殊变量与函数语法
shell-if判断
shell编程for循环语句
shell编程while与case循环语句
seq命令
按照指定格式 num%03g 格式输出。num 为前置字符串,
%03g 表示数字宽度为 3
,不足前置补 0。
[root@localhost ~]# seq -s ":::" -f "%03g" 98 101
098:::099:::100:::101
seq案例定时脚本
#!/bin/bash
for time in `seq 9 -1 0`;do
echo -n -e "\b$time"
sleep 1
done
echo