『 \[Enter] 』 跳脫
變數的取用: echo
echo $HOME
myname=VBird
echo $myname
變量的設定規則
1,變量與變量內容以=來連接myname=VBird
2,等號兩邊不能有空格
3,變量名稱只能是英文字母和數字,但不能數字開頭
4,變量內容有空格用" 或 '將變量內容結合起來,但,
雙引號內的特殊字符如 $ 等,可以保有原本的特性,如下所示:
『var="lang is $LANG"』則『echo $var』可得『lang is en_US』
單引號內的特殊字符則僅爲一般字符 (純文本),如下所示:
『var='lang is $LANG'』則『echo $var』可得『lang is $LANG』
5. 可用跳脫字符『 \ 』將特殊符號(如 [Enter], $, \, 空格符, '等)變成一般字符;
6. 在一串指令中,還需要藉由其他的指令提供的信息,可以使用反單引號『`指令`』或 『$(指令)』。
特別注意,那個`是鍵盤上方的數字鍵1左邊那個按鍵,而不是單引號!例如想要取得核心版本的設定:
『version=$(uname -r)』再『echo $version』可得『2.6.18-128.el5』
7. 若該變量爲擴增變量內容時,則可用 "$髮量名稱" 戒 ${髮量} 累加內容,如下所示: 『PATH="$PATH":/home/bin』
8. 若該變量需要在其他子程序執行,則需要以 export 來使變量變成環境變量: 『export PATH』
9. 通常大寫字符爲系統默認變量,自行設定變量可以使用小寫字符,方便判斷 (純粹依照使用者興趣與嗜好) ;
10.取消變量的方法爲使用 unset :『unset 髮量名稱』
例如取消 myname 的設定: 『unset myname』
read
要讀取來自鍵盤輸入的變量
read atest
This is a test <==此時光標會等待你輸入!請輸入左側文字看看
[root@www ~]# echo $atest
This is a test <==你剛剛輸入的
[root@www ~]# read -p "Please keyin your name: " -t 30 named
Please keyin your name: VBird Tsai <==注意看,會有提示字符喔!
[root@www ~]# echo $named VBird Tsai
ulimit 『限制用戶的某些系統資源』
變量內容的刪除取代與替換
別名設定alias,unalias
數據流重導向
1. 標準輸入 (stdin) :代碼爲 0 ,使用 < 或 << ;
2. 標準輸出 (stdout):代碼爲 1 ,使用 > 或 >> ;
3. 標準錯誤輸出(stderr):代碼爲 2 ,使用 2> 或 2>> ;
將 stdout 不 stderr 分別存到不同的檔案去
[dmtsai@www ~]$ find /home -name .bashrc > list_right 2> list_error
/dev/null 垃圾桶
同時寫入 find /home -name .bashrc > list 2>&1
命令執行的判斷依據: ; , &&, ||
cmd ; cmd (不考慮命令相關性的連續指令下達)
cmd1 && cmd2
1. 若 cmd1 執行完畢且正確執行($?=0),則開始執行 cmd2。
2. 若 cmd1 執行完畢且爲錯諢 ($?≠0),則 cmd2 不執行。
cmd1 || cmd2
1. 若 cmd1 執行完畢且正確執行($?=0),則 cmd2 不執行。
2. 若 cmd1 執行完畢且爲錯諢 ($?≠0),則開始執行 cmd2。
我不清楚 /tmp/abc 是否存在,但就是要建立 /tmp/abc/hehe 檔案
[root@www ~]# ls /tmp/abc || mkdir /tmp/abc && touch /tmp/abc/hehe
管線命令『 | 』