shell基礎之管道符和變數

2021-09-20 23:11:16 字數 1202 閱讀 7290

管道符和變數

一、管道符和作業命令

1.txt |wc –l; cat 1.txt|greap 『aaa』

管道符的命令就是把前面輸出的結果交給後面的命令

2.ctrl z 暫停乙個任務

3.jobs檢視後台的任務

4.bg[id] 把任務調到後台,使它到後台執行background執行多個任務要使用bg 1 bg 2,如果不加引數

就是預設的最後乙個執行的程式

5.fg[id] 把任務調到前台,恢復這個任務,調到前台來 foreground,執行多個任務可以使用fg 1 fg 2恢復這個任務,調到前台來 foreground,執行多個任務可以使用fg 1 fg 2

7.命令後面加&直接把任務丟到後台

二、變數

1. path、home、pwd、logname

常見的環境變數:

path 決定了shell將到哪些目錄中尋找命令或程式

home 當前使用者主目錄

histsize 歷史記錄數

logname 當前使用者的登入名

hostname 指主機的名稱

shell 前使用者shell型別

lang 語言相關的環境變數,多語言可以修改此環境變數

mail 當前使用者的郵件存放目錄

pwd 當前目錄

2. env命令:env命令即可全部列出系統預設的全部系統變數

3. set命令多了很多變數,並且包括使用者自定義的變數

4. 自定義變數a=1

變數規則:

a. 設定變數的格式為」a=b」,其中a為變數名,b為變數的內容,等號兩邊不能有空格;

b. 變數名只能由英、數字以及下劃線組成,而且不能以數字開頭;

c. 當變數內容帶有特殊字元(如空格)時,需要加上單引號,變數內容中本身帶有單引號,這就需要用到雙引號了

d. 如果變數內容中需要用到其他命令執行結果則可以使用反引號;

e. 變數內容可以累加其他變數的內容,需要加雙引號;

f.變數名規則:字母、數字下劃線、首位不能為數字

5. 變數的累加

6. 全域性變數export b=2

export其實就是宣告一下這個變數的意思,讓該shell的子shell也知道變數的值是什麼.如果export後面不加任何變數名,則它會宣告所有的變數。

7. unset變數:

如果想取消某個變數怎麼辦?只要輸入」unset 變數名」即可

shell指令碼之管道符和mv

需求 想列出指定的內容並將其轉移到新的目錄中 通過使用mv和管道符有幾種方法,1 file ls pattern mv file newdir 2 ls pattern xargs i mv newdir 3 find name pattern exec mv newdir 不要忘記後面的 這是必須...

shell 使用管道符時變數的問題

使用管道符計算檔案行數指令碼如下 bin sh linenum 0 cat test while read line doecho line content line linenum 1 done echo line number linenum 輸出結果為 line content 1 line ...

grep和管道符

找出資料夾下包含 aaa 同時不包含 bbb 的檔案,然後把他們重新生成一下。要求只能用一行命令。我對linux 是個白痴,工作了之後才開始接觸的,會用的命令只有那幾個常用的。這個問題對我來說就有點難度,我只是大概知道查詢檔案用 grep 其他的就不知道了。不過沒關係,用google 查詢到 gre...