str="aaaaaaaaaaaaaa=bbbbbbb"
;str1=$ #匹配第乙個,進行擷取
echo
"new str1=$str1"
str2=$ #匹配最後乙個,進行擷取
echo
"new str2=$str2"
str="aaaaaaaaa=---cc---"
;str1=$
#匹配第乙個,進行擷取
echo
"new str1=$str"
str2=$
#匹配最後乙個,進行擷取
echo
"new str2=$str"
語法:$
test="login.fracong.com"
echo $
結果:fracong
說明:如果不寫length
則擷取到最後位置。
語法:$
test="login.fracong.com"
echo $
#從右邊往左數11為開始,然後往右計數獲取7位,其中0-為固定寫法
結果:fracong
說明:如果不寫length
則擷取到最後位置。
使用typeset
,有兩個選項 -l 代表小寫 -u 代表大寫。用法:
typeset -u name
name='asdasdas'
echo
$name
typeset -l ame
ame='asdasdas'
echo
$ame
if
[ condition1 ]
;then
#action1...
elif test condition;then
#action2....
elif [
[ condition3 ]
];then
#action3....
else
#action3...
fi
重點說明*:
中括號內兩端必須要有空格。
、test condition二者是等價的,更加強大。
-a
表示and;-o
表示or;!
表示非
test="a"if[
$test = "a"
-a $test = "a"
]; then
echo
"test a"
;else
echo
"test other";fi
if[$test = "a"
-o $test = "a"
]; then
echo
"test a"
;else
echo
"test other";fi
if[!$test = "b"
]; then
echo
"test a"
;else
echo
"test other"
;fi
結果為:
test other
test a
test a
-eq 測試兩個整數是否相等
-ne 測試兩個整數是否不等
-gt 測試乙個數是否大於另乙個數
-lt 測試乙個數是否小於另乙個數
-ge 大於或等於
-le 小於或等於
test="a"if[
$test = "a"
] && [
$test = "a"
]; then #邏輯與
echo
"test a"
;else
echo
"test other";fi
if[$test = "a"]|
|[$test = "a"
]; then #邏輯或
echo
"test a"
;else
echo
"test other"
;fi
== 等於 兩邊要有空格
!= 不等
> 大於
< 小於
-z string 測試指定字元是否為空,空著真,非空為假
-n string 測試指定字串是否為不空,空為假 非空為真
-e file 測試檔案是否存在
-f file 測試檔案是否為普通檔案
-d file 測試指定路徑是否為目錄
-r file 測試檔案對當前使用者是否可讀
-w file 測試檔案對當前使用者是否可寫
-x file 測試檔案對當前使用者是都可執行
-z 是否為空 為空則為真
-a 是否不空
-s file 判斷資料夾是否為空
test=""if[
-z "$test"
];then #判斷'test'的值是否為空值,為空值則為真。
read -p "please input your test:" test #獲取鍵盤輸入的資料
echo
"test:$test"
#在控制台輸出
fi
if[!
-f /home/fracong/test.sh ]
; then
echo create test.sh
touch /home/fracong/test.sh
fi
test=""if[
-f "/home/fracong/test.sh"
];then
test=`grep "export test="
/home/fracong/test.sh`
test=$ #獲取=號右側資料
echo
"the test:$test"
fi
test="aaaaaa"if[
-z "$test"
];then
echo
"export test=$test" >>/home/fracong/test.sh
fi
test="aaaaaa"if[
-z "$test"
];then
sed -i "/^.*test=.*$/cexport test=$test"
/home/fracong/test.sh
fi
關於sed的簡單說明:
exit 0:正常執行程式並退出程式;
exit 1:非正常執行導致退出程式;
0代表正常推出,非0代表非正常推出。
shell指令碼知識點彙總
sed中在對內容進行修改時,有時候需要引用外部變數的值或者獲取乙個shell命令執行的結果,以便達到更加可觀的輸出結果 1 sed中使用變數替換 1 sed命令使用雙引號的情況下,使用 var直接引用 rooot 192 cat test.txt 192.168.53.128 contiv name...
shell指令碼學習知識點 一
1.shell是linux的外殼,是linux的使用者介面,可以為使用者提供輸入命令和引數,並可以得到命令執行結果的環境 2.可執行程式一般有兩種實現方式 一種是二進位制方式 一種是script方式 二進位制方式是先將編寫好的程式進行編譯,變成計算機可是別的指令 然後在執行。這種編譯好的程式只能執行...
shell指令碼學習知識點 二
1.注釋 行首以 開頭 除 之外 是注釋。用於指定當前的指令碼直譯器。2.分號 a.命令分隔符 使用分號 可以在一行寫兩個或兩個以上的命令 b.終止case選項 雙分號 使用雙分號 可以終止case選項 3.點號 等價於source命令 bash中的source命令用於在當前bash環境下讀取並執行...