1. 程式人生 > >2018-4-17 Linux學習筆記

2018-4-17 Linux學習筆記

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

20.1 shell腳本介紹
  • shell是一種腳本語言 (shell腳本學習: blog.lishiming.net)
  • 可以使用邏輯判斷、循環等語法
  • 可以自定義函數
  • shell是系統命令的集合
  • shell腳本可以實現自動化運維,能大大增加我們的運維效率

20.2 shell腳本結構和執行

  • shell腳本開頭需要加#!/bin/bash(其目的是指定解析器,讓移植到其他機器時也能更好的執行).
  • 以#開頭的行作為解釋說明(系統不會執行).
  • 習慣是shell腳本的名字以.sh結尾,用於區分這是一個shell腳本.
  • shell腳本執行方法有兩種:
    (1) chmod +x 1.sh; ./1.sh
    (2) bash 1.sh
  • 加-x參數可查看腳本執行過程
    bash -x 1.sh
  • 加-n參數查看腳本是否有語法錯誤
    bash -n 1.sh
    技術分享圖片

20.3 date命令用法

  • date +%Y-%m-%d (= date +%F), date +%y-%m-%d 年月日
  • date +%H:%M:%S = date +%T 時間
  • date +%s 顯示時間戳
  • date +%s -d "2018-04-17 17:42:34" 將日期時間轉換成時間戳
  • date -d @1504620492 將時間戳轉換成日期時間
  • date -d "+1day" +%F 一天後
  • date -d "-1 day" 一天前
  • date -d "-1 month" 一月前
  • date -d "-1 hour" +%T 一小時前
  • date -d "-1 min" 一分鐘前
  • date +%w 星期幾
  • date +%W 今年的第幾周
  • cal 顯示日歷
    技術分享圖片

20.4 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]

2018-4-17 Linux學習筆記