xiayu 发表于 2018-8-19 07:30:36

68.shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

一、shell是什么


[*]shell是一种脚本语言aming_linuxblog.lishiming.net
[*]可以使用逻辑判断、循环等语法
[*]可以自定义函数
[*]shell是系统命令的集合
[*]shell脚本可以实现自动化运维,能大大增加我们的运维效率
二、shell脚本结构和执行方法
[*]开头需要加#!/bin/bash
[*]以#开头的行作为解释说明
[*]脚本的名字以.sh结尾,用于区分这是一个shell脚本
[*]执行方法有两种
[*]chmod +x 1.sh; ./1.sh
[*]bash 1.sh
[*]查看脚本执行过程 bash -x 1.sh
[*]查看脚本是否语法错误bash -n 1.sh
三、date命令的用法
  

date +%Y               四位数字的年份  
date +%y               两位数字的年份
  
date +%m               月份
  
date +%M               分钟
  
date +%D               05/30/18 格式显示当前日期
  
date +%d               日期(几号)
  
date +%Y-%m-%d         年月日
  
date +%y-%m-%d         年月日
  
date +%H:%M:%S         时分秒
  
date +%T               时分秒
  
date +%s                 时间戳
  
date -d @1504620492
  
date -d "+1day"          一天后
  
date -d "-1 day"         一天前
  
date -d "-1 month"       一月前
  
date -d "-1 min"         一分钟前
  
date -d "+1hour"         一小时后
  
date -d "+1year"         一年后
  
date +%w               周几
  
date +%W               今年第几周
  
cal                      显示日历




  %H 小时,24小时制(00~23)
  %I 小时,12小时制(01~12)
  %k 小时,24小时制(0~23)
  %l 小时,12小时制(1~12)
  %M 分钟(00~59)
  %p 显示出AM或PM
  %r 显示时间,12小时制(hh:mm:ss %p)
  %s 从1970年1月1日00:00:00到目前经历的秒数
  %S 显示秒(00~59)
  %T 显示时间,24小时制(hh:mm:ss)
  %X 显示时间的格式(%H:%M:%S)
  %Z 显示时区,日期域(CST)
  %a 星期的简称(Sun~Sat)
  %A 星期的全称(Sunday~Saturday)
  %h,%b 月的简称(Jan~Dec)
  %B 月的全称(January~December)
  %c 日期和时间(Tue Nov 20 14:12:58 2012)
  %d 一个月的第几天(01~31)
  %x,%D 日期(mm/dd/yy)
  %j 一年的第几天(001~366)
  %m 月份(01~12)
  %w 一个星期的第几天(0代表星期天)
  %W 一年的第几个星期(00~53,星期一为第一天)
  %y 年的最后两个数字(1999则是99)

四、shell脚本中的变量


[*]当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
[*]使用条件语句时,常使用变量    if [ $a -gt 1 ]; then ... ; fi
[*]引用某个命令的结果时,用变量替代   n=wc -l 1.txt
[*]写和用户交互的脚本时,变量也是必不可少的  read -p "Input a number: " n; echo $n   如果没写这个n,可以直接使用$REPLY
[*]内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ....       $#表示参数个数
[*]数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]


页: [1]
查看完整版本: 68.shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量