003-常用的Shell脚本

 

	1.Shell介绍
		文本文件,通常能够被Shell解释执行,以.sh结尾
			批量的Linux命令集合
			# 代表注释
		Linux命令+Shell命令+控制语句(或者解释语句)
		内容介绍:
			第一行 指定解析和编译执行脚本  #!/bin/bash
			除第一行外 使用#表示注释
	2.Shell变量
		变量名:字母、下划线开头,后面跟字母、数字、下划线,大小写敏感
			name=jeff  引用 echo ${name}
		作用域:当前的session生效,本地变量
		环境变量:全局变量
		清除变量 unset var
		显示所有变量:set
	3.Shell位置参量
		特殊的内置变量  echo "hello kuangkuang $1 $2"
		外部执行:sh test.sh huhu jeff  执行结果  hello kuangkuang huhu jeff
		类似于占位符,外部来进行填充 占位符到9以后  需要${10}
		$0 表示当前脚本的文件名
		$# 参数的个数
		$* 以单字符串显示所有的位置参量
		$@ 未加双引号时与$*含义相同,加双引号时有区别
		$$ 脚本运行的当前进行号
		$! 最后一个后台运行的进程的进程号
		$? 显示前面最后一个命令的退出状态 0表示没有错误,其他任何值表示有错误
	4.Shell定义数组、date
		定义数组:arr=(jeff kuang mandy)
		取到数组值  ${arr[0]}
		取到数组的长度  ${#arr[*]}
		date +%Y-%m-%dT%H:%M:%S  2018-08-16 16:49:50
	5.Shell判断
		文件类型判断:
			-e 文件是否存在
			-f 文件是否是file
			-d 文件时否是directory
		权限判断:
			-r 是否可读
			-w 是否可写
			-x 是否可执行
		两个整数判断:
			-eq n1==n2
			-ne n1!=n2
			-gt n1>n2
			-lt n1<n2
			-ge n1>=n2
			-le n1<=n2
		判断字符串:
			test -z string 判断字符串是否为0?若string为空字符串,则为true
			test -n string 判断字符串是否非为0?若string为空字符串,则为false 
						   注意:-n可以省略
			test str1=str2 判断str1是否等于str2,若相等,返回true
			test str1!=str2 判断str1是否不等于str2,若相等,返回false
		if[判断条件];then
			执行脚本
		else
			执行脚本
		fi
	6.Shell循环
		6.1 demo1
		for var in con1 con2 con3 ...
		do
			程序段
		done
		上面demo中,这个$var的变量内容在循环工作时:
			1.第一次循环时,$var的内容为con1
			2.第一次循环时,$var的内容为con2
			3.第一次循环时,$var的内容为con2
			4.....
		6.2 demo2
		for((i=0;i<${num};i=i+1))
		do
			程序段
		done
		6.3 while循环
			while[condition]
			do
				程序段
			done
		6.4 文件循环读取
			cat $[file]| while read line
			do
				程序段
			done

 

posted @ 2018-08-16 17:43  枫叶~  阅读(135)  评论(0编辑  收藏  举报