天天看點

【linux】學習6

鳥哥13章的東西

shell script速度較慢,适合用于系統管理,但不适合處理大量數值運算

var=$((運算内容)) 可以用來做變量的加減乘除求餘運算

total=$(($firstnum*$secnu))

declare -i total="$firstnum*$secnu"

上面兩句功能一樣,建議用第一種

echo -e "\nYour full name is: $firstname $lastname"

-e表示後面 \表示轉義,例子表示了在echo中顯示兩個變量的方法

file1=${filename}${date1}

一個變量是另兩個變量的連接配接的寫法

執行script

sh scriptname 在子程序中執行,變量不會出現在父程序

source scriptname 在父程序中執行,變量會出現在父程序

test :測試

test -e /test && echo "exist" || echo "Not exist"  測試檔案名/test是否存在 目錄檔案都可以

test -f sh03.sh && echo "exist" || echo "Not exist" 測試檔案是否存在 必須是檔案

test -d abc && echo "exist" || echo "Not exist" 測試目錄是否存在 必須是目錄

下面代碼測試檔案是否存在 以及檔案的執行權限

[]: 表判斷,但是挨着括号的兩端必須都是空格

[ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK, CONTINUE" && exit 0 判斷yn等于Y或y,任意一個都傳回true

腳本後面帶參數:

$0 代碼檔案名 $1代碼後面第一個參數  $2代碼後面第二個參數....

$@ 代表除檔案名之外的所有參數  $# 表後面接的參數個數

下面例子輸入少于兩個參數會退出 會顯示所有參數和第一第二個參數

shift num: 移除後面num個變量

條件判斷式

if [] ; then

elif []; then

else

fi

netatat -tuln 獲得目前主機啟動的服務

80:www

22:ssh

21:ftp

25:mail

檢測常見端口

【linux】學習6

case 條件判斷

函數:

後面接内置參數和shell的内置參數方法一樣 也是$1 $2 ...

循環:

買足條件就循環

滿足條件就結束循環

for循環

調試script

sh [-nvx] scriptname.sh

-n 不執行,僅檢查文法

-v 執行前把script内容輸出到螢幕

-x 将使用到的script内容輸出到螢幕   debug很有用

繼續閱讀