shell腳本介紹 shell腳本結構和執行 date命令用法 shell腳本中的變量

1、shell腳本介紹
shell腳本介紹  shell腳本結構和執行  date命令用法  shell腳本中的變量
shell腳本要想寫好,必須經過不斷地去練習寫才能寫好,沒有捷徑
要在咱們拿到一個需求的時候有一個腳本的大體思路,想到需求怎麼去實現
shell腳本能夠大大提升咱們的工做效率
2、shell腳本結構和執行
shell腳本介紹  shell腳本結構和執行  date命令用法  shell腳本中的變量
[root@linux-01 ~]# mkdir shell //建立一個shell文件夾,存放實驗的shell腳本
[root@linux-01 ~]# cd shell/
[root@linux-01 shell]# ls
[root@linux-01 shell]# vi 01.sh //建立第一個腳本01.sh
#!/bin/bash
echo "123"
w
ls
//第一行必須這樣寫成這樣的格式,若是這個腳本在本機上執行,第一行能夠省略不寫,可是若是也要在其餘機器上執行,就必需要寫了,咱們必須指定接下來的這些命令是經過哪個解釋器來操做的
[root@linux-01 shell]# sh 01.sh //運行下01.sh腳本,能夠正常執行
123
00:00:46 up 2:35, 1 user, load average: 0.14, 0.06, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.238.1 23:37 6.00s 0.20s 0.02s w
01.sh
也能夠給01.sh腳本執行的權限
[root@linux-01 shell]# chmod a+x 01.sh
[root@linux-01 shell]# ./01.sh //直接使用./來執行腳本,能執行說明這些命令被解析了,被認識了
123
00:02:33 up 2:37, 1 user, load average: 0.02, 0.04, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.238.1 23:37 1.00s 0.23s 0.01s w
01.sh
在腳本第二行再寫一行#!/bin/bash就被識別爲解釋語句了
#!/bin/bash
#written by aming //解釋
#2018-07-13 //解釋
#echo w ls //解釋
echo "123"
w
ls
[root@linux-01 shell]# vi /etc/init.d/network //查看下系統裏面的network腳本
#! /bin/bash
#
#network Bring up/down networking
#
#chkconfig: 2345 10 90 //這個有特殊意義,2345是定義它的啓動級別,10是啓動順序,90是關閉的順序
#description: Activates/Deactivates all network interfaces configured to \ //針對腳本的解釋說明
#start at boot time. //若是沒有這兩行,沒有辦法加入到chkconfig列表裏面去
以#開頭的行做爲解釋說明,能夠寫版權,寫日期,解釋腳本作什麼用的等等
腳本的名稱以.sh結尾,用於區分這是一個shell腳本
執行shell腳本的兩種方法;
一、bash 01.sh 或者 sh 01.sh
二、chmod +x 01.sh ,而後使用./01.sh ,./是相對路徑,也能夠直接寫絕對路徑找到這個腳本直接執行也能夠# /root/shell/01.sh來執行01.sh腳本
sh -x 01.sh ,其中-x選項是顯示shell腳本執行的過程,每個+表示一個操做
[root@linux-01 shell]# sh -x 01.shlinux

  • echo 123
    123
  • w
    07:10:42 up 3:29, 2 users, load average: 0.01, 0.02, 0.05
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    root pts/0 192.168.238.1 23:37 7:03m 0.30s 0.30s -bash
    root pts/1 192.168.238.1 06:27 2.00s 0.10s 0.00s sh -x 01.sh
  • ls
    01.sh
    [root@linux-01 shell]# sh -n 01.sh //使用-n選項查看shell腳本有沒有語法錯誤,僅檢測語法錯誤

3、date命令用法
shell腳本介紹  shell腳本結構和執行  date命令用法  shell腳本中的變量
date在shell中做用很大,好比在一個腳本中標記一個日誌,或者針對某一個文件作更改,可使用date給它作一些裝飾,好比天天備份一個sql文件,加上日期,就能夠知道sql文件是哪一天生成的。
也能夠按照周生成備份文件,好比周一輩子成1.sql,週二生成2.sql以此類推,每週生成7個備份文件,下週再生成新的1.sql文件上自動把上週備份的1.sql文件覆蓋掉,不須要咱們手動去刪除備份文件了,它能夠自動去覆蓋名字相同的文件,因此date在shell中很是有用,實用。
[root@linux-01 ~]# date +%Y //使用%Y表示四位數的年份
2018
[root@linux-01 ~]# date +%y //使用%y表示兩位數的年份
18
[root@linux-01 ~]# date +%m //使用%m表示月份
07
[root@linux-01 ~]# date +%M //使用%M表示分鐘
53
[root@linux-01 ~]# date +%d //使用%d表示日期
14
[root@linux-01 ~]# date +%D //使用%D表示月/日/年 這樣格式的年月日
07/14/18
[root@linux-01 ~]# date +%Y%m%d //把%Y%m%d組合起來使用表示的就是年月日
20180714
[root@linux-01 ~]# date +%F //使用%F表示帶橫槓的年月日,顯示的更友好
2018-07-14
[root@linux-01 ~]# date +%H //使用%H表示小時
15
[root@linux-01 ~]# date +%S //使用%S表示秒
07
[root@linux-01 ~]# date +%s //使用%s表示時間戳,距離1970年1月1日0點0分到如今過去了多少秒
1531551793
[root@linux-01 ~]# date +%T //使用%T表示時間
16:23:53
[root@linux-01 ~]# date +%H%M%S //使用%H%M%S表示時分秒
162715
[root@linux-01 ~]# date +%H:%M:%S //中間加上冒號顯示的更友好,等同於%T
16:27:28
[root@linux-01 ~]# date +%w //使用%w表示周幾
6
[root@linux-01 ~]# date +%W //使用%W表示今天是今年的第多少周
28
[root@linux-01 ~]# cal //cal命令能夠顯示日曆
July 2018
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
好比在nginx切割日誌的時候,它會在天天的凌晨0點鐘去切割前一天的日誌,這時候須要標註的日期是前一天的日期,這時候可使用date 標記昨天的日期:
[root@linux-01 ~]# date -d "-1 day" //這樣就顯示了昨天的日期
Fri Jul 13 16:40:59 CST 2018
[root@linux-01 ~]# date -d "-1 day" +%F //加上%F更友好的顯示年月日
2018-07-13
[root@linux-01 ~]# date -d "-1 month" +%F //使用month表示上個月,一月前
2018-06-14
[root@linux-01 ~]# date -d "-1 years" +%F //使用years表示上一年,一樣的day和month均可以加s
2017-07-14
[root@linux-01 ~]# date -d "-1 year" +%F //使用year效果同樣
2017-07-14
[root@linux-01 ~]# date -d "-1 hour" +%T //使用hour表示時一小時前
15:48:44
[root@linux-01 ~]# date -d "-1 min" +%T //使用min表示一分鐘前,秒也是能夠這樣表示的
16:51:13
[root@linux-01 ~]# date +%s -d "2018-07-14 16:55:23" //把具體的時間換算成時間戳
1531558523
[root@linux-01 ~]# date -d @1531558523 //反過來也能夠把時間戳換算成具體的時間
Sat Jul 14 16:55:23 CST 2018nginx

4、shell腳本中的變量
shell腳本介紹  shell腳本結構和執行  date命令用法  shell腳本中的變量
shell腳本中處處都是使用變量的,簡單講,變量其實就是一個變化的參數,一個數值,一個字符串,能夠反覆使用它,調用它sql

相關文章
相關標籤/搜索