linux shell筆記

來源:互聯網
上載者:User

1、> file  
前面沒有命令,shell會建立一個空檔案(長度為0個字元),如果檔案以前已經存在,其內容就會丟失。 
 
2、一行中可以鍵入多條命令,命令之間用分好分隔。 
 
3、如果在鍵入的命令之後跟一個&符號,該命令就發送到後台執行,也就是說,該命令不再佔住終端,可以繼續處理其他工作。 
 
4、$字元是shell的特殊字元,如果$後跟一個合法的變數名,shell會把它當作在此處用變數所儲存的值來替換的指令。運算式可以寫為$((expression))。 
 
5、shell變數$#,裡面存的是命令列中所鍵入的參數個數。 
 
6、$*可以引用傳遞給程式的所有的參數,在參數不確定或者參數數目可變的程式中,通常是很有用的。 
   "$@" 它會被替換成“$n”,這裡$@前後的雙引號是必不可少的,如果沒有,變數$@和$*完全一樣。 
 
7、如果要給一個程式傳遞9個以上的參數,不能用$10、$11的方法來取第10個以及以後的參數,要用${n}這種格式。 
 
8、shell自動將最後所執行命令的退出狀態設定到shell變數$?中。 
    $cp phonebook phone2 
    $echo $? 
    $0 
    0操作成功 非0操作失敗 
 
9、內部命令test,它用來在if命令中測試一種或幾種條件,格式為 test expression。 
    -n string 檢測string不為空白為真 
    -n string 檢測string為空白為真 
   test命令的另外一種模式[expression] 
    -eq 等於 
    -ge 大於等於 
    -gt 大於 
    -le 小於等於 
    -lt 小於 
    -ne 不等於 
   檔案判斷 
    -d  為目錄  
    -e  存在 
    -f  普通檔案 
    -r  可讀檔案 
    -s  長度不為0 
    -w  可寫檔案 
    -x  可執行檔 
    -L  連結檔案 
   邏輯判斷  
    !   邏輯非 
    -a  邏輯與 
    -o  邏輯或 
 
10、小括弧格式 (  ) 
 
11、else結構 
    if command1 
    then 
       command 
    else 
       command 
    fi 
 
12、內部命令exit 它可以立即終止shell程式的執行。exit n  n為希望返回的退出狀態,不指定為最後一條命令的退出狀態。 
 
13、elif結構 
    if command1 
    then 
       command 
    elif command2 
    then 
       command 
    else 
       command 
    fi 
 
14、case結構 
    case value in 
    pat1)  command 
           command 
        ... 
           command;; 
 
    pat2)  command 
           command 
        ... 
           command;; 
    ... 
    patn)  command 
           command 
        ... 
           command;; 
    esac 
 
    case語句中的特殊字元指定匹配模式: 
        ?表示任一個字元 
        *表示0或若干個任一字元一個 
 
15、-x 偵錯工具選項 
    sh -x 程式名 程式參數 
 
16、空命令  : 
    其目的是什麼也不做,多用於條件陳述式 
 
17、&&和||結構 
    &&       如果在任何需要shell命令的位置寫了 command1 && command2 則先執行command1,如果返回的退出狀態為0則執行command2;如果command1返回的退出狀態不為0,則跳過command2。 
    ||       結構功能也差不多,區別在於只有當第一條命令的退出狀態不為0時才執行第二條命令。 
     
    在這種結構的左右兩邊都可以用管道線。如果用在左邊,檢測的是管道線中最後一條命令的退出狀態。 
 
18、for命令 
    for var in  word1 word2 ...  wordn/filenames[1-n]/$* 
    do 
        command 
        command 
        ... 
    done 
 
19、while命令 
    while command1 
    do  
        command 
        command 
        ... 
    done 
while 經常與shift命令共同使用。shift命令使位置變數向下移(即$n到$n-1),並且$#遞減。 
 
20、until命令 
    until command1 
    do 
        command 
        command 
        ... 
    done 
與while模式相反 
 
21、sleep n 程式掛起n秒 
 
22、break n、continue n從迴圈中退出 
 
23、PATH 
    PATH是執行命令時shell要搜尋的目錄,這些目錄彼此之間用冒號{:}分隔 
 
24、exec 命令 
    exec program  以新shell代替當前程式 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.