shell

shell是什麼

shell是一種腳本語言python

可使用邏輯判斷、循環等語法  能夠自定義函數shell

shell是系統命令的集合vim

shell腳本能夠實現自動化運維,能大大增長咱們的運維效率bash

shell腳本結構和執行方法

開頭須要加#!/bin/bash運維

以#開頭的行做爲解釋說明函數

腳本的名字以.sh結尾,用於區分這是一個shell腳本spa

[root@lynn-04 shell]# vim 01.sh

#!/bin/bash
echo '123'
w
ls

執行方法有兩種  chmod +x 01.sh; ./01.shcode

[root@lynn-04 shell]# chmod +x 01.sh; ./01.sh
123
 07:39:49 up 22:59,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.130.1    Tue08    5.00s  0.23s  0.00s w
01.sh  01if.sh	99.sh

bash 1.sh字符串

[root@lynn-04 shell]# sh 01.sh
123
 07:40:17 up 23:00,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.130.1    Tue08    1.00s  0.23s  0.00s sh 01.sh
01.sh  01if.sh	99.sh

查看腳本執行過程 bash -x 1.sh自動化

[root@lynn-04 shell]# sh -x 01.sh
+ echo 123
123
+ w
 07:40:59 up 23:00,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.130.1    Tue08    3.00s  0.23s  0.00s sh -x 01.sh
+ ls
01.sh  01if.sh	99.sh

查看腳本是否語法錯誤  bash -n 1.sh

[root@lynn-04 shell]# sh -n 01.sh
[root@lynn-04 shell]#

date命令的用法

date +%Y    單獨顯示 年

[root@lynn-04 ~]# date +%Y
2018

date +%m    單獨顯示 月

[root@lynn-04 ~]# date +%m
04

date +%d    單獨顯示 日

[root@lynn-04 ~]# date +%d
18

date +%Y%m%d    顯示年月日

[root@lynn-04 ~]# date +%Y%m%d
20180418

date +%Y-%m-%d   格式化顯示 年-月-日

[root@lynn-04 ~]# date +%Y-%m-%d
2018-04-18

date +%F    格式化顯示 年-月-日

[root@lynn-04 ~]# date +%F
2018-04-18

date +%H   單獨顯示 時

[root@lynn-04 ~]# date +%H
08

date +%M   單獨顯示 分

[root@lynn-04 ~]# date +%M
42

date +%S   單獨顯示 秒

[root@lynn-04 ~]# date +%S
26

date +%H:%M:%S   格式化顯示 時:分:秒

[root@lynn-04 ~]# date +%H:%M:%S
08:42:50

date +%T   格式化顯示 時:分:秒

[root@lynn-04 ~]# date +%T
08:43:04

date +%s 時間戳

[root@lynn-04 ~]# date +%s
1524012212

date -d @1524012212

[root@lynn-04 ~]# date -d @1524012212
Wed Apr 18 08:43:32 CST 2018

date 當前日期

[root@lynn-04 ~]# date
Wed Apr 18 08:45:31 CST 2018

date -d "+1day"  一天後

[root@lynn-04 ~]# date -d "+1day"
Thu Apr 19 08:44:51 CST 2018

date -d "-1 day"  一天前

[root@lynn-04 ~]# date -d "-1day"
Tue Apr 17 08:45:47 CST 2018

date -d "-1 month" 一月前

[root@lynn-04 ~]# date -d "-1month"
Sun Mar 18 08:46:11 CST 2018

date -d "-1 min"  一分鐘前

[root@lynn-04 ~]# date
Wed Apr 18 08:46:27 CST 2018
[root@lynn-04 ~]# date -d "-1min"
Wed Apr 18 08:45:37 CST 2018

date +%w   星期幾

[root@lynn-04 ~]# date +%w
3

date +%W 當前是今年的第幾個星期

[root@lynn-04 ~]# date +%W
16

 

shell腳本中的變量

當腳本中使用某個字符串較頻繁而且字符串長度很長時就應該使用變量代替

使用條件語句時,常使用變量

if [ $a -gt 1 ]; then ... ; fi

[root@lynn-04 shell]# vim if1.sh

#/bin/bash
a=5
if [ $a -gt 3 ]
  then
       echo ok
fi

if [ $a -gt 1 ]; then ;esle... ; fi

[root@lynn-04 shell]# vim if2.sh

#/bin/bash
a=2
if [ $a -gt 3 ]
  then
       echo ok
  else
       echo nook
fi

if …; then … ;elif …; then …; else …; fi

[root@lynn-04 shell]# vim if3.sh

#/bin/bash
a=4
if [ $a -gt 5 ]
then
    echo ok
elif [ $a -gt 3 ]
    echo "3<a<5"
else
    echo nook
fi
相關文章
相關標籤/搜索