【2018.07.11學習筆記】【linux高級知識 20.1-20.4】

20.1 shell腳本介紹

一、shell腳本語言是linux系統的系統命令的一個集合:他包含了有邏輯判斷、循環語句和自定義的函數等。

二、shell腳本用來實現系統管理的自動化運維,提升管理效率。例如:要部署上百臺機器的時候,就可使用腳本文件同時進行操做,大大提升效率。

三、shell腳本編寫是運維工做的重點,也是工做應聘的必備熟練的條件:熟練掌握必需要多練習多看腳本代碼,對腳本的解決問題的思路要理解透徹。

20.2 shell腳本結構和執行

linux中的shell腳本,第一行固定文件頭:linux

#!/bin/bash   //指定下面的命令集合經過哪一個解釋器執行

若是shell腳本文件擁有x執行權限,加上了指定解釋器文件頭,就可以直接執行shell腳本文件,不用在前面使用命令來執行shell

chmod a+x 123.sh   //加上x執行權限
./123.sh  //直接輸入文件名,回車執行便可。不用 sh命令或者 /bin/bash命令

若是不加指定解釋器的文件頭:#!/bin/bash,就須要使用命令來執行shell腳本:bash

sh 123.sh              //  /bin/sh命令文件實際上是軟連接至 /bin/bash
/bin/bash 123.sh

shell腳本中除了第一行外的,其餘以#號開頭的行,表明解釋說明,不會被解釋器執行運維

bash -x 123.sh  //-x選項 查看執行過程  ,執行過程顯示中,+號後面的語句是:執行過程,按執行順序顯示。
bash -n 123.sh  //-n選項 查看是否有語法錯誤

20.3 date命令用法

date命令:顯示系統當前日期和時間,shell腳本中做用很大。函數

date命令在shell腳本中至關重要,常常會使用到date命令來進行對文件的操做:如日誌文件等。日誌

LANG=en  //date命令顯示的時間就是英文的
LANG=zh_CN.UTF-8 //date命令顯示的時間是中文的

date命令有如下經常使用的格式與選項:code

date +%Y  //顯示年份:2018
date +%m  //顯示月份:07
date +%d  //顯示日:12
date +%M  //顯示分鐘:52
date +%D  //顯示年月日:09/09/17
date +%F  //顯示年月日:2017-09-09
date +%h  //顯示英文的月份:Sep
date +%H  //顯示小時:06
date +%S  //顯示秒:36
date +%s  //顯示時間戳:1504811139,距離1970.01.01過去多少秒
date +%T  //顯示時間:06:30:20
date +%w  //顯示星期
date +%W  //顯示今年第幾周:36
cal       //顯示日曆

date命令指定日期:字符串

date -d "+1 day"    //一天後的日期; -d選項,計算時間日期
date -d "-1 day" +%F  //昨天的日期
date -d "-1 month" +%F  //上月的日期
date -d "+1 year" +%F  //明年的日期
date -d "+1 hour" +%T  //下個小時
date -d @1504911154 //查看時間戳對應的日期時間
date +%s -d "2017-09-08 06:20:19"  //查看日期時間對應的時間戳

20.4 shell腳本中的變量

shell腳本中的變量:是某個字符串使用頻繁,或者字符串長度長,可使用變量才代替,提升代碼編寫的效率。部署

在條件語句中常使用到變量:input

if [$a -gt 10];then 語句; fi  //a就是變量

引用命令結果時用變量:

n='wc -l 1.txt' //wc統計行數命令的結果,賦值給變量n

用戶交互腳本中,使用變量:

read -p "input a number : " n; echo $n   //把輸入的數值,賦值給變量n

系統的內置變量:

$0,$1,$2,$3等   //$0表示腳本自己,$一、$2表明命令的第1個參數、第2個參數,如此類推。$#表明參數個數

數序運算中使用變量:

a=1
b=2
c=$(($a+$b))  //c=$[$a+$b] 這種寫法也行
相關文章
相關標籤/搜索