bash + script


shell
shell

 "" 保留$,`,\, 換行含義,‘’保留字面值數組

$(), ``用於命令替換安全

算術擴展如 $[1+1]bash

for循環:測試

for Host in host1, host2, host3; do echo $Host; done調試

for Host in host{1,2,3}; do echo $Host; doneblog

for Host in host{1..3}; do echo $Host; doneip

for Package in $(rpm -a | grep kernel); do echo "$Package was installed on $(date -d @$(rpm -q --qf "%{INSTALLTIME}\n" $Package))"; done字符串

for EVEN in $(seq 2,2,8); do echo "$EVEN"; doneit

2

4

6

8

調試模式

#!/bin/bash -x 或者 bash -x scriptname 或在腳本中插入命令set -x , set +x 分別開啓和關閉調試

bash -v script 詳細模式,每一個命令執行器打印命令到標準輸出 (set -v set +v)

 

特殊變量:

引用位置參數:$*,全部參數當成一個單詞;$@,每一個參數當成一個單詞(返回數組)

$#參數數量

退出狀態 $? 0 表示退出成功 (exit num能夠用在腳本中做爲退出代碼)

if [$# -lt 3];then 

   echo "usage:...";

 exit -1;

fi 

整數比較 [ "$a" -eq "$b"] [1 -eq 1]

-eq =

-ne !=

-gt >

-ge >=

-lt <

-le <=

字符串比較 ==, =, !=

字符串長度爲零 -z

字符串不爲空 -n

測試文件和目錄:

邏輯操做&&, ||

條件操做:

if a; then b;else c;fi

if a; then b;elif c;then d; else e; fi

 

 寫一個腳本查找最後建立時間是3天前,後綴是*.log的文件並刪除。

find / -name "*.log" -ctime +3 -exec rm -f {} \;

安全刪除修改日期5天前

find . -name "*.log" -mtime +5 -ok rm {} \;

相關文章
相關標籤/搜索