1.
在linux中執行指令碼檔案時 以 ./執行的 或者普通方式(輸入檔名)執行時是啟動子shell執行的,所以,一切環境變數設定在推出後失效
因此在指令碼中設定$path將失效,如果一定要以指令碼方式來設定,需要 .+空格+檔名或者 source 指令碼檔案的形式執行.
2.linux中的" " 和 ' ',雙引號和單引號的區別是,單引號比雙引號要嚴格,雙引號會自動解釋$開始的變數,而單引號不會.
3.linux中將命令執行的結果作為變數可以使用
$(***)或者'***`,這裡'是鍵盤左上角tab上面的引號
4.從字串頭截去字元
$ -----從左邊開始搜尋string變數截去最後乙個碰到的xx字元之前的所有內容後剩下的字元
如:string=asfadfasd
$=asd
$--------從左邊開始搜尋string變數截去第乙個碰到的xx字元之前的所有內容後剩下的字元
如:string=asfadfasd
$=adfasd
5.從字串尾部截去字元
$ -----從右邊開始搜尋string變數截去最後乙個碰到的xx字元之後的所有內容後剩下的字元
$ -----從右邊開始搜尋string變數截去第乙個碰到的xx字元之後的所有內容後剩下的字元
如:string=asfadfasd
$=as
$=asfad
6.從字串中去除指定的字元或字串,替換字串中指定的字元或字串
$ ----將string變數中第乙個出現的str1替換為str2
$----將string變數中所有出現的str1替換為str2
如:$ = linscngfeiye
$=linscngsciye
7.提取字串
$---提取string變數中從position開始的length個字元(注意下標從0開始)
$--提取string變數中從position開始到末尾的字元
8.eval關鍵字使用:取變數的值所對應的變數值
已知:aaa1=test,a=aaa,b=1
取test
tmp=$a$b
eval t="$"$tmp
echo $t
9.測試變數字串長度是否為0(是否為空)
if [ -z $var ] 或者 if [ ! -n $var ]
如:var=""
if [ -z $var ]
then
echo 1
else
echo 2
fi得到 1,為空
10.檔案測試選項 (下面都是對應了取真值的例子)
if [ -d $file ] --存在並且是目錄
if [ -x $file ] --存在並且可執行
if [ -e $file ] 或者 if [-a $file] --存在
if [ -r $file ] --存在並且可讀
if [ -w $file ] --存在並且可寫
Bash Shell學習筆記四
set commond 將位置引數設定為後面的命令輸出 shell命令中 在 後面的語句將會不再解釋後面的 cal 萬年曆 bc 計算器 histsize 歷史大小 random 隨機數 basename pathname 去除路徑字首的最後部分 空變數 1 1 沒有賦值或申明的變數 1 1 字元變...
linux 學習筆記四 bash shell
type 查詢命令是否為bash 內建命名 變數的設定規則 myname ceshi 變數與變數內容用 連線 變數名稱可以是數字英文本母,但是不能以數字開頭。內容如果有空白可以用單引號 或者雙引號 但是單引號只能作為一般字元也就是文字顯示,雙引號可以引用變數。變數的增加 名稱 增加內容,或者 內容 ...
Bash shell 學習筆記 PS命令
ps命令能夠給出當前系統中程序的快照。它能捕獲系統在某一事件的程序狀態。如果你想不斷更新檢視的這個狀態,可以使用top命令。通過cpu和記憶體使用來過濾程序 根據 cpu 使用來公升序排序 ps aux sort pcpu less 根據 記憶體 使用來公升序排序 ps aux sort pmem ...