shell編程小結

關於變量的幾個問題


1、shell編程由於和命令行有莫大的關係,所以對空格等字符比較敏感。

2、定義變量 value=xx 而不能像 value = xx 這樣出現空格。

3、通過 export value 可以將value變成環境變量,使其子進程也可以使用該變量。

4、環境變量多爲大寫,普通變量爲小寫

5、一般通過 value = $(shell 命令) 將輸出結果賦值給value

6、$#代表參數個數,$1,$2,......代表對應第幾個參數


常用的邏輯:

條件

-e 文件是否存在

-f 是否存在且爲文件

-d 是否存在且爲目錄      


-eq 是否相等

-nq 是否不等

-gt 是否大於

-lt 是否小於


判斷:

if [ "條件1" -o "條件2" ];then                   if [ "條件1" ] || [ "條件2" ];then

命令;                             =                命令;

fi                                               fi


case $1 in

"條件1" )

命令段1

;;

"條件2" )

命令段2

;;

* )

命令段3

;;

esac


循環

while [ "循環條件" ]

do

命令段;

done


for value in xxx1 xxx2 xxx3

do

命令段;

done


for ( ( i=0 ; i<10; i++ ) )

do

命令段;

done


正則表達式:

't[^a-z]st' : 第二個字母不是a-z的對象 (^取反符,a-z爲選取對象)

'go\{2,5\}g': 限定o的重複次數爲2到5個。

^ : 放在括符外面爲行首符。

$ :爲行尾符。

. : 有個任意字符。

* : 重複前一個 0到無數次



常用工具

cut -d '分隔符' -f 區域   獲取分割過後的某塊區域

cut -c 2-12 獲取每行2到12之間字符

grep -n  查找字符串

sort 排序工具

wc 顯示字符數和行數


sedawk





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章