shell脚本介绍
shell是什么
shell脚本结构和执行方法
加入到chkconfig --list列表,必须有chkconfig,description这两项
date命令的用法
date +"%Y-%m-%d %H:%M:%S" //年月日时分秒
date +"%F %T" //同上
date +"%s" //时间戳
date -d @1521172172 //时间戳转化为年月日星期时分秒
date +%s -d '2016-9-10 06:10:30' //将某个日期转化为时间戳
date -d "+1 day" //一天后的日期
date -d "-1 day" //一天前的日期
date -d "-1 month" //一月前的日期
date -d "-1 min" //一分钟前的日期
date +%w //星期
date +%W //一年中的第几周
cal命令的用法
cal -h //查看日历的帮助信息
shell脚本中的变量
wc -l 1.txt
shell中的逻辑判断
格式1:if 条件 ; then 语句; fi
格式2:if 条件; then 语句; else 语句; fi
格式3: if 条件; then 语句; elif 条件; then 语句; else 语句; fi
逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 10 ]; if [ $b -eq 20 ]等
-gt (>); -lt ()<; -ge(>=); -le(<=); -eq(==); -ne(!=)
可以使用&& ||结合多个条件
if [ $a -gt 5 ] && [ $a -lt 10 ]; then ...; fi
if [ $b -gt 5 ] || [ $b -lt 3 ]; then...; fi
if判断文件、目录属性
[ -f file ]判断是否是普通文件,且存在
[ -d file ]判断是否是目录,且存在
[ -e file ]判断文件或目录是否存在
[ -r file ]判断文件是否可读
[ -w file ]判断文件是否可写
[ -x file ]判断文件是否可执行
if判断的一些特殊用法
if [ -z "$a" ]这个表示当变量a的值为空时
if [ -n "$a" ]表示当变量a的值不为空
if grep -q '123' 1.txt; then ...; fi //表示1.txt中含有‘123’的行时会怎么样
if [ ! -e file ] //表示文件不存在时
if((a<1)) //等于于if [ $a -lt 1 ]
[]中不能使用<,>,==,!=,>=,<=这样的符号
shell中的case判断
格式 case 变量名 in
value1)
command
;;
value2)
command
;;
*)
command
;;
esac
在case程序中,可以在条件中使用 |,表示或的意思。如 2|3)
for循环
for 变量名 in 条件; do ...; done //注意:for是以空格作为分隔符的
while循环
while 条件; do ...; done
continue、break、exit
continue //用在循环中时,结束本次循环,进行下一次循环
break //有在循环中时,跳出循环
exit //退出整个脚本
shell脚本中的函数
函数就是把一段代码整理到一个单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个单元的名字即可
function 函数名 { //函数必须放在最前面
command
}
shell中的数组
a=(1 2 3 4 5) //定义数组a
echo ${a[*]} 或 echo ${a[@]} //输出数组a的每个元素
echo ${a[0]} //输出数据a中的第一个元素
a[1]=100 //给数组a中的第二个元素赋值
a[5]=500 //给数组增加一个元素并赋值
unset a[5] //元素的删除
unset a //数组的删除
echo ${#a[*]} 或 echo ${#a[@]} //打印数组的个数
a=(`seq 1 10`)
echo ${a[*]:3:4} //下标为3开始截取,截取4个元素 [4,5,6,7]
echo ${a[*]:0-3:2} //倒数第三个元素开始截取,截取2个 [8,9]
a=(${a[*]/10/20}) //将数组中的10的值改为20
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。