Linux Shell學習筆記十

2021-05-23 17:32:22 字數 1311 閱讀 8627

第14課時 函式

14.1 建立和使用函式

格式:name()

shell函式的乙個重要特徵是:可以用它們代替二進位制可執行檔案或shell內建的同名命令。

例如:cd() ; psi="`pwd`$"; export psi;}

該語句用了乙個函式代替了cd命令,該函式改變目錄,同時設定了主shell提示符$psi使其包含當前目錄。

shell指令碼中的函式變數作用範圍與其他的指令碼語言不通,例如在php中,當指令碼執行超出函式範圍時本內部變數就

會消失,所以不刪除也沒有問題。

而shell中,變數被標識為全域性變數,所以必須小心管理。

例如:$ test()

$ test

$ echo $test #輸出123

第15課時 文字過濾器

呼叫shell指令碼常常是為了對執行的命令所產生的輸出進行操作和格式化。

1)head

2)tail

3)grep

4)sort

5)uniq

6)tr

15.1.1 head和tail命令

格式:head [-n lines] files

如果沒有-n lines,則顯示標準的前10行。

15.1.2 tail命令

格式:tail [-n lines] files

如果沒有-n lines,則顯示標準的最後10行。

-f選項,用於檢視正在進行寫操作的檔案。

15.2 使用grep

grep命令使使用者可以在檔案中找到包含某個特殊單詞或片語的行。

15.2.1 查詢單詞

格式:grep word file

這裡檔案file指出想在哪些檔案中搜素單詞word,grep命令顯示檔案中包含單詞word的每一行。

當指定多個檔案時,grep命令在輸出行之前加上包含該行的檔名。

-i選項,大小寫不相關匹配。

15.2.2 從stdin(標準輸入)中讀入

當沒有指定檔案時,grep在從stdin輸入的行中尋找匹配,這使得它可以與管道很好地連在一起。

例如:$ who | grep root

-v選項,列出與條件不符的行

15.2.3 行號

選項-n,結果列表返回行號

$ grep -n pipe ch15.doc

返回格式為:file:line number:line

15.2.4 只列出檔名

有時,只需返回含有某word的檔名。

可以使用-l選項。

例如:$ grep -l php *

返回:index.php

linux shell學習筆記

shell程式 將一系列linux程式通過流程控制寫在乙個文字檔案中,由shell讀取此文字檔案並且依次執行檔案中的程式。例子 bin bash 代表shell程式的注釋 echo hello linux echo this is a shell file.shell程式中需要用變數來儲存程式中的資...

Linux Shell學習筆記六

第八學時 引用 術語引用 引用即是將被選擇文字用某種型別的引用標記括起來,從而使得被選擇文字變成文字字元。轉義 轉義乙個字元意味著該字元前加乙個反斜線 從而轉義或者去除了shell命令中該字元的特殊含 義,或者正如讀者在echo命令中看到的 n 一樣增加特殊含義。跟在反斜線後的字元被稱為轉義字元。特...

linux shell 學習筆記2

變數的作用範圍,僅在各自的shell環境中才有效。這點很重要。例如 例1 cd.sh內容如下 bin bash cd usr local pwd該script執行完畢後,路徑仍不會改變,因為該script是在子shell中執行,執行完成後,子shell也隨即結束 又回到原父shell的環境中,因此,...