1. 程式人生 > >Linux學習總結(五十七) shell腳本1

Linux學習總結(五十七) shell腳本1

shell 腳本

1 什麽shell
shell是一種腳本語言
可以使用邏輯判斷、循環等語法
可以自定義函數
shell是系統命令的集合
shell腳本可以實現自動化運維,能大大增加我們的運維效率
2 shell腳本結構和執行方法
開頭需要加#!/bin/bash
以#開頭的行作為解釋說明
腳本的名字以.sh結尾,用於區分這是一個shell腳本
執行方法有兩種
chmod +x 1.sh; ./1.sh
bash 1.sh
查看腳本執行過程 bash -x 1.sh
查看腳本是否語法錯誤 bash -n 1.sh
3 date命令用法

date +%F 年月日  2018-05-14  等價於 date +%Y-%m-%d
date +%T 時分秒  22:45:23    等價於 date +%H:%M:%S
date +%Y 四位表示的年份 2018
date +%y 兩位表示的年份 18
date +%m 月份
date +%M  分鐘
date +%d 日
date +%D 月日年  05/14/18
date +%H 時
date +%h 月份   5月
date +%M 分
date +%S 秒
date +%s 絕對時間戳  距離1970.1.1. 00:00:00 多少秒
date -d @1504620492  時間轉換
date -d "+1day"  一天後
date -d "-1 day"  一天前
date -d "-1 month" 一月前
date -d "-1 min"  一分鐘前
date +%w  星期幾
date +%W  第幾周

4 腳本中的變量
當腳本中使用某個字符串較頻繁並且字符串長度很長時就應該使用變量代替
使用條件語句時,常使用變量 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]

Linux學習總結(五十七) shell腳本1