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 * * *?? ??? ?每小时 ?
|