學習shell指令碼日記

2022-03-07 06:37:41 字數 2717 閱讀 6872

linux,shell

2015-02-07

1.計畫任務:corntab -e 編寫計畫任務     corntab -l檢視計畫任務     corntab -r清除所有的計畫任務

如果要清除某一項計畫任務,就是進入計畫任務的編輯頁面,逐個刪除就可以了

2.任務計畫編寫與執行

內容:格式 : 分 時 日 月 年 命令

[root@localhost cpre]# */5 * * * * 命令     #每隔5分鐘執行一次

[root@localhost cpre]# 00 09 * * 20 命令      #每週2到週日的9點執行一次命令

[root@localhost cpre]# 00 09 * * 2,3,4 命令      #每個周2,3,4的9點執行一次命令

3.linux下的反引號作用

date=`date "+%y-%m-%d"`     #反引號,表示反引號內的命令作為單個個體執行完之後再賦值

tar czf web-$.tar.gz web     # $號的輸出格式

4.shell的變數型別與應用

a. 區分大小寫 不能以數字開頭

b. 格式 : 變數名 = 變數值          #變數提高**靈活度   (** 在linux中,變數賦值的指令之間不能帶有空格)

c.  輸出變數

echo "輸出內容"

name='liangi'

echo $name

echo "my name is $"     #注意$符號的使用

d. 變數的賦值

輸入賦值:  read -p 「please inout your name: 」  name    #將輸入的值賦值給name

echo $name        

e.不同的引號為變數賦值 (單雙引號都不能引用轉移字元)

雙引號 " " : 解析變數,就是說,雙引號裡面的時變數

單引號 ' ' :  不能解析變數,裡面的變數不能解析出來

反引號 ` ` : 把反引號裡的命令執行出來再賦值

f.刪除變數

unset name

定義變數使用了之後,把變數刪除unset之後,又可以重新賦值

2015-02-08

1. 位置變數  

位置變數是先在指令碼裡定義好位置變數數,在執行的時候就是

# ./loca.sh 1 sd d f  h

然後在接下來的輸出中就會顯示所定義的位置變數

2. 預定義變數

將所有在學預定義變數的時候,所作的筆記注釋貼上出來

--start--

#!/bin/bash

#預定義變數測試與學習

#這個程式除錯了很久,出錯原因主要是寫程式的時候粗心出錯,還有的就是空格的問題,shell的空格很講究的,就像是在終端輸入命令。因此,在寫linux-shell指令碼的》時候就當是在終端中輸入linux命令一樣,講究格式,以一顆在linux下輸入命令的心去寫linux指令碼

echo $0 #,顯示當前指令碼的名稱

echo "你當前指令碼的名稱是:$0"

echo $# #獲取所有引數個數

echo '我是歌手'

echo $* #列出變數是什麼

lsecho $? #回饋上一條命令是否執行正確,正常,則返回0

total=0

for i in $*; do

total=$(($total+$i)) #將每個預定義變數相加,預定義的變數必須是數字才能相加

echo $total

done

echo $total

if [[ $? == 0 ]]; then

echo '上條命令執行成功'

else

echo '上條命令執行不成功'

fi # 標註出有問題的 程式

~  --end--

3.shell指令碼的運算

expr 20 + 30      #空格要注意

number=`expr 20 + 30 / 2`     #引用命令結果需要加上反引號

echo $((2 + 3 +4))

4. shell指令碼的輸入與輸出

echo -e "sjdk \n ds"     #-e解析輸出引用的轉移字元

echo -n "dsjk"               #執行完該命令之後,游標不換行

同:read -p "please input your name: " name

echo $name

echo                #直接輸出的是空行

指令碼輸出字型顏色--(需要echo -e才能識別)

語法echo -e "\033[32;40m[ok]\033[0m"

\033[前景顏色;背景顏色m

\033[0m     #0m代表恢復到系統配色方案

**要寫全

顏色:30-37 代表前景顏色 黑紅綠棕藍紫青白

40-47 代表背景顏色 黑紅綠棕藍紫青白

5.cat 檢視

catx                         #將任意字元xx裡面的原樣輸出-->可以用來做選單

head 檢視前十行

head -2 檢視前2行

tail 檢視後10行

tail -2 檢視後2行

tee 輸出乙份,還會儲存乙份

./te.sh | te.txt     #儲存在當前目錄

nl 在輸出的文字前面標出行號

shell 指令碼日期操作

最近使用kettle任務時,在指令碼開發時,使用到獲取指定日期前後幾天的日期,例如 獲得變數yesterday 2017 03 05,前兩天的日期字串。在平常使用的時候,僅使用過獲取當前時間前後幾天的日期,可以使用 stime date d 1 days ago f date d 1 days ag...

shell指令碼 日常巡檢

以下內容僅為提供思路 對於運維來說,每天對所管理的伺服器進行一次以上的巡檢是最基本的工作,當然,天天free df的敲鍵盤很麻煩,這時候最好寫乙個日常巡檢的指令碼,辛苦一天,輕鬆一年 巡檢指令碼有兩種思路,一種是當你想親眼看一看系統狀況的時候,每台伺服器都親自執行一遍這個指令碼 另一種是將所有功能封...

shell指令碼 日誌切割

bin bash 介紹 logcut.sh 簡單的日誌切割指令碼,前3天的切割方便隨時看,前4 10天的進行壓縮,超出的刪除 注意 會將其他帶時間的日誌壓縮後刪除 功能 日誌切割 日誌格式 xx.當前年 月 日.log 壓縮格式 xx.當前年 月 日.tar.gz 適用 centos6 語言 中文 ...