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程式設計 第二天
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...
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...