if

格式1:
	if 判断条件
	then
		判断为true执行的代码 
	fi
格式2:
	if 判断条件
	then
		判断为true执行的代码 
	else
		判断为false执行的代码 
	fi
格式3:
	if 判断条件
	then
		判断为true执行的代码 
	elif 判断条件
	then
		判断为true执行的代码 
		。。。
	else
		判断为false执行的代码 
	fi
	注意:else可加可不加

判断条件的写法

[]:[]两边加空格,符号两边加空格并且符号前加转义符
	可以使用字母
[[]]:[[]]两边加空格,符号两边加空格
	可以使用字母
():弃用
(()):不需要加空格,但是不能使用字母
	在使用变量时,不需要使用$

for

java格式:
	for ((初始化变量;判断条件;控制语句))	
	do
		执行语句
	done	
python格式:
	for 变量 in 结果集
	do
		执行语句
	done
结果集:
	{开始..结束}含头含尾,不能引用变量
	`seq 开始 结束`含头含尾

例如:获取1-100的奇数和偶数和

jsum=0
osum=0
for i in {1..100}
do
        if ((${i}%2==0))
        then
                #osum+=${i} 结果做了拼接 不是算术运算
                #osum=`expr ${i} + ${osum}`
                #osum=$[${i}+${osum}]
                let osum+=i
        else
                let jsum+=i
        fi
done
echo 偶数和为:${osum}
echo 奇数和为:${jsum}
注意:
	使用let在计算时可以直接使用变量

数组:存储多个元素,数据类型可以不同,元素元素之间以空格切分

操作
	通过下标获取数据
		格式:
			${数组[下标]}
		注意:
			直接引用数组变量,默认获取下标为0的元素
			下标使用*表示获取所有
	获取长度:
		格式:
			${#数组[*]}

read:键盘录入

格式:
	read 变量1 变量2 ...变量n
注意:
	键盘录入时,允许给多个变量进行赋值,值和值之间以空格切分	

打印三角形

for i in {1..5}
do
        for j in `seq 1 ${i}`
        do
                echo -n "* "
        done
        echo ""
done

函数

格式:
function 方法名(){
	方法体
	return 数字;
}
注意:function和return可加可不加
	$0...$n表示接收参数,$0永远是脚本名称(忽略)
	方法的调用直接使用方法名不加()
	return只能返回数字范围在0-255之间
	$?接收返回值只能接收一次

获取当前日期时间

date +"%Y-%m-%d %H:%M:%S"

格式化日期时间:

date -d today +"%Y-%m-%d %H:%M:%S"

加减日期时间

date +%Y%m%d        //显示前天年月日
date +%Y%m%d --date="+1 day"  //显示前一天的日期
date +%Y%m%d --date="-1 day"  //显示后一天的日期
date +%Y%m%d --date="-1 month"  //显示上一月的日期
date +%Y%m%d --date="+1 month"  //显示下一月的日期
date +%Y%m%d --date="-1 year"  //显示前一年的日期
date +%Y%m%d --date="+1 year"  //显示下一年的日期

重定向:执行命令的结果写写入到文件

标准输入文件(stdin):stdin的文件描述符为0,默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,向stderr流中写入错误信息。
使用>,>>默认是把正确信息写入文件
想要把错误信息和正确信息写入文件需要后面追加2>&1(把错误信息当做正确信息去处理)

定时器:
格式:
*(分钟) *(小时) *(星期) *(几号) *(月份) commend

通过crontab -e添加定时任务
查看定时任务是否执行了,看日志tail -f /var/log/cron
注意:
	定时器或脚本中涉及到路劲的全部给绝对路劲

* * * * * 		每分钟
*/1 * * * * 	每分钟
0 */1 * * *		每小时
posted on 2021-09-03 20:08  学海无涯,书山有路  阅读(35)  评论(0)    收藏  举报