shell程式設計 第二天

2021-06-16 08:12:11 字數 2300 閱讀 8218

ls -l dir1 | wc -l .

1。while 條件  ;  do  done //(())  []  test

2。until同上,僅僅是條件不成立的時候才執行

3。/dev/null : unix 黑洞。 用於清空檔案  cat /dev/null > xx    find -name a.txt 2>/dev/null

4。注意:陷阱題之continue跳出迴圈後,把列印的東東留在了緩衝區,結果一直都沒有列印出來。

5。命令列表 && && | | | | ,後乙個命令是否執行依賴於前乙個命令的成功與否。

6。語句塊{}: (ls "$1") &&

7。函式 1。function fun1{}  fun1(){}   注意:函式沒有返回值,呼叫直接寫函式名即可。( )中不允許出現行參,只能為空。    declare -f 檢視所有滴函式

shell的函式,對於shell來說是新的shell程序,如此傳參:fun1 1 2 3 ,$0永久不變,$1之後的位置引數在函式內是區域性的,外依舊是主程式的位置引數。

8。shell程式設計是在命令的基礎上的,所以應該時刻想著以命令的格式來編寫**,不要搞錯聊。

9。函式中的return 是返回的是:返回碼,必須是int行,不能是其他的型別。最多255,0代表成果。如果val=$(fun),則取出來的是:函式所輸出的東西。

10。shell中,任何命令都是有返回碼的,而且必須有---因為預設就有。(以最後一句**作為返回值)

11。加上( ) 表示在子shell中去執行,否則是在當前shell中執行。

12。如果非要函式有返回 ,那只能使用全域性變數了,沒別的辦法了。可是,走運了,函式中的變數預設就是全域性性的,加了local修飾的變數才是函式的區域性變數了。

$( fun ) 取出來的是:echo列印出來的東西,並不是return 值。

13。普通的呼叫函式是不會啟動新的程序的。呼叫shell會啟動新程序的。a.sh exec a.sh (exec是不會建立新的程序的)

14。fork    ()    exec      source   ,這4種方式來進行執行子shell,前2個方式會新建立個shell程式,後2個則是在當前shell下進行的執行。

15。export到出變數,使變數能夠在子shell中起效。

16。在系統中,程序是顆樹,他們是具有關係的(父子爺。。。)

17.內建命令(用enable來檢視):是在shell啟動時就已經被載入到記憶體中去的。如:pwd echo 外部命令:需要通過path來配置其外部程式。

18.jobs 檢視後台程式,fg %n  bg %n  ctrl+ z 掛起.。 echo -e -e -n  建議使用 printf (注意:%s中間不能夠有空格,因為替換之後就成了2個引數了,因為中間有空格)

19.注意:shell程式設計的基礎是命令的集合,所以,他不像其他程式設計語音一樣的格式,他基本上都是通過空格來表達他的引數與識別。 這就是命令形式的程式設計。

20.eval:把字串當成是命令來使用。盡量不用,有風險。

21.set 重新設定位置引數。 set $(date) echo $2  , set -o      unset 刪除某個變數 

22. shift 把位置引數都做移 一位,原來$1的值就被丟棄了。呵呵,$0 永遠保持不變。

23.程序很多情況下是接到訊號結束的。呵呵

24.trap命令:指定當接受到訊號後將要採取的行動。  trap 命令 訊號整數       trap - sigout -表示,用預設的響應來響應該訊號。

25.shell中 :冒號表示空語句,同時也表示邏輯真

26.$$ 程序號  $? 上乙個命令的返回值

27.exit n  ; 0 成功  1-255 錯誤資訊  126無許可權 127命令未找到  128別訊號打斷

28.find 路徑 選項 測試部分 動作部分 

29;用;可以分隔多個命令在同一行 ; 訊號:即中斷技術  ;  tar -cvf shell.tar *      tar -tf shell.tar   

30. $() ` ` 命令替換; 程序替換:  > 即重定向      ; grep 選項 正則 檔案 |  路徑

31.特殊元素: ls -l | grep -e a[ [ :blank: ] ]        命令列,所有特殊字元都要轉義。 或者用 " ",就可以不用/來轉義了。

32. awk 工具:== gawk  ,awk -f '' /etc/passwd    begin{} /正冊匹配即執行後門大括號/{} end{} my.awk檔案。前後塊,各執行一次。中間則一行執行一次。正則部分,匹配成功,就那個執行{}。

33. 圖形話工具: dialog  gdialog 

shell程式設計 第二天

1。while 條件 do done test 2。until同上,僅僅是條件不成立的時候才執行 3。dev null unix 黑洞。用於清空檔案 cat dev null xx find name a.txt 2 dev null 4。注意 陷阱題之continue跳出迴圈後,把列印的東東留在了...

Shell筆記第二天

2.1bash shell bash 是乙個與bourne shell 相容的 執行從標準輸入裝置或檔案讀取的命令的命令語言直譯器 bash是具有很好的移植性的 2.1.2 bash的改進 命令列編輯 命令列補全 不限制命令列歷史大小 不限制資料的大小 啟動檔案 符合條件表示式 目錄堆疊 訪問目錄的...

學習centos第二天 shell

一 shell 是linux系統中執行的一種特殊程式 是在使用者和核心之間充當翻譯官 bash 是linux系統中預設使用的shell程式,檔案位於 bin bash 二 linux命令分為內部和外部 用which檢視命令在那條路徑下,例如which ifconfig ifconfig是外部命令,c...