shell指令碼介紹,date用法

2021-08-15 10:04:33 字數 2964 閱讀 2634

十六周二次課(2月5日)

20.1 shell指令碼介紹

20.2 shell指令碼結構和執行

20.3 date命令用法

20.4 shell指令碼中的變數

什麼是shell

shell是一種指令碼語言 aming_linux blog.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-%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 +%w, date +%w 星期

[root@dl-001 shell]# date

//檢視當前時間

2023年 01月 20日 星期六 10:10:25 cst

[root@dl-001 shell]# cal //檢視系統日期

一月 2018

日 一 二 三 四 五 六

1234567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

[root@dl-001 shell]# date +%y

//檢視當前年份(四位顯示)

2018

[root@dl-001 shell]# date +%y

//檢視當前年份(簡化顯示)

18[root@dl-001 shell]# date

"+%y-%m-%d %h:%m:%s %w"

//檢視當前 年 月 日 時 分 秒 星期

2018-01-20

10:11:15

6[root@dl-001 shell]# date +%f

//檢視當前完整的年月日

2018-01-20

[root@dl-001 shell]# date +%w

//檢視當前時間是一年的第幾周

03[root@dl-001 shell]# date +%t

//檢視當前時間是幾點

10:11:39

[root@dl-001 shell]# date +%s

//檢視時間戳(顯示從2023年1月1日00:00:00到目前經歷的秒數)

1516414309

//時間戳的換算

[root@dl-001 shell]# date +%s -d "2018-01-20 22:00:00"

1516456800

[root@dl-001 shell]# date -d @1516456800

2023年 01月 20日 星期六 22:00:00 cst

//列印指定日期和時間

[root@dl-001 shell]# date -d "-2 day" +%d

18[root@dl-001 shell]# date -d "-1 year -3 month -1 day" +%y-%m-%d

2016-10-19

//手動設定當前時間

[root@dl-001 shell]# date -s "2017-5-20 12:00:00"

2023年 05月 20日 星期六 12:00:00 cst

[root@dl-001 shell]# date

2023年 05月 20日 星期六 12:00:03 cst

//同步網路時間

[root@dl-001 shell]# yum install -y ntp

[root@dl-001 shell]# ntpdate ntp.ubuntu.com

20 jan 10:47:42 ntpdate[8615]: step time server 91.189

.89.198 offset 21163558.201100 sec

[root@dl-001 shell]# date

2023年 01月 20日 星期六 10:47:45 cst

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]

shell 中date 的用法

1.獲取離今天的上週 上月 下週 下月的日期 html view plain copy date d 1 week y m d a date d 1 day y m d a date d 2 day y m d a date d 1 month y m d a date d 1 month y m ...

Shell中date的用法

man date可以看到date的help檔案 date 獲取當前時間 date d 1week y m d 獲取上週日期 day,month,year,hour date date 24 hour y m d 同上 date now date s shell指令碼裡面賦給變數值 輸出 符號 a 當...

shell 中 date的用法

1.獲取離今天的上週 上月 下週 下月的日期 html view plain copy date d 1 week y m d a date d 1 day y m d a date d 2 day y m d a date d 1 month y m d a date d 1 month y m ...