鳥哥私房菜shell和shell指令碼總結(僅自己看)
1、 cat 顯示內容,和echo寫入區別
2、 $0 為返回值
3、 &後臺執行命令,例子:程式名&
4、 echo 後邊什麼也不接當做回車使用
5、 bash是shell的一種。
6、 不打#!/bin/sh 將不能使用內建命令
7、 echo –n “123” 沒有後邊的回車
8、 echo $PATH,列印環境變數
9、 增加環境變數內容 PATH=“$PATH”:/use/opt或者 PATH=$PATH:/usr/opt,只記住前邊就行,其他變數不一定能向path一樣使用。
10、name=bird’s name 中間的空格會使後邊的回車不起作用需要 name=”bird’s name”
11、${name}和”$name”等價
12、在一行程式裡還需要使用其他程式提供的資訊使用`command`,例如cd /lib/module/`uname -r`/……
13、獲得shell的pid , echo $$
14、$? 上一個命令返回值。
15、 ${…}裡面可以使用替換等萬用字元
16、 #:前邊最短匹配刪除 ##:最長 同理%和%%
17、/ 替換第一個 //替換所有的
18、History 顯示歷史命令,!!執行上一個命令,!n執行第n個命令
19、source ~/.bashrc 或者 . ~/.bashrc 可以修改環境變數並立即生效,不需要logout。
20、stty –a 列出了終端按鍵配置。?:什麼是tty
21、& 將命令變成後臺工作
22、 [A-Z] 這裡[]是一個字元但是定義了範圍。
23、`uname -r`可以用 ${uname-r}替換掉
24、2> or 2>> 定向到標準錯誤輸出。
25、標準定向輸出最好寫成 1> 2> 這樣能夠區別正確的和錯誤的輸出。
26、Find /home –name testing >12>&1 ,寫道一個地方的正確方式
27、Echo 後邊接字元可以,如將123寫入 test1 :echo 123 > test1
但是cat 123> 123就會出錯,因為前者是個檔案,該檔案可能不存在
28、cat > file1 鍵盤輸入到檔案, cat> file1 < file2 用file2的內容替換鍵盤輸入
29、cat > file1 <<eof 輸入eof後結束。
30、A || B ; A執行錯誤才會執行B 與&&區別正好相反。而;是順序執行不管對錯。
31、去除dos 留下來的換行符 cat /home/test/dostxt | tr –d ’\r’ > dostxt-noM
32、正則表示式就是處理字串的方法,以行為單位。
33、Diff命令比較檔案