开头(首行)须要加: #!/bin/bash
这里是指文件使用的是bash语法,经过/bin/bash解释器来执行的。 shell
以#开头的行做为解释说明: bash
脚本的名字以.sh结尾,用于区分这是一个shell脚本spa
执行.sh脚本方法有两种: 1先给.sh脚本添加x权限: chmod +x 1.sh .sh脚本的绝对路径回车: /root/1.sh 2bash(bash=sh)执行.sh脚本: bash 1.sh 查看脚本执行过程: sh -x 1.sh 检测shell脚本的语法错误: sh -n 1.sh
1.命令格式:code
date [参数]... [+格式]字符串
2.命令功能:数学
date 能够用来显示或设定系统的日期与时间。class
3.命令参数:变量
必要参数:date
%H 小时(以00-23来表示)。 权限
%M 分钟(以00-59来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%m 月份(以01-12来表示)。
%w 该周的天数,0表明周日,1表明周一,异词类推。
%Y 年份(以四位数来表示)。
选择参数:
-d<字符串> 显示字符串所指的日期与时间。字符串先后必须加上双引号。
-s<字符串> 根据字符串来设置日期与时间。字符串先后必须加上双引号。
-u 显示GMT。
--help 在线帮助。
4.使用说明:
1.在显示方面,使用者能够设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表以下: % : 打印出 %:
%H : 小时(00..23)
%M : 分钟(00..59)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 至关于 %H:%M:%S
%d : 日 (01..31)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完全年份 (0000..9999)
2.在设定时间方面:
date -s //设置当前时间,只有root权限才能设置,其余只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期作更改
date -s “01:01:01 2008-05-23″ //这样能够设置所有时间
date -s “01:01:01 20080523″ //这样能够设置所有时间
date -s “2008-05-23 01:01:01″ //这样能够设置所有时间
date -s “20080523 01:01:01″ //这样能够设置所有时间
3.加减:
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" //显示下一年的日期
1. 当脚本中使用某个字符串较频繁而且字符串长度很长时就应该使用变量代替
2. 使用条件语句时,常使用变量 if [ $a -gt 1 ]; then ... ; fi
3. 引用某个命令的结果时,用变量替代 n=`wc -l 1.txt`
4. 写和用户交互的脚本时,变量也是必不可少的 read -p "Input a number: " n; echo $n 若是没写这个n,能够直接使用$REPLY
5. 内置变量 $0, $1, $2… $0表示脚本自己,$1 第一个参数,$2 第二个 .... $#表示参数个数
6. 数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]