shell指令碼學習積累

2021-09-25 23:25:42 字數 625 閱讀 7768

shell 指令碼中 用#進行注釋

-eq 表示等於: 英語單詞 equal

-ne 表示不等於: 英語單詞 not equal

-gt 表示大於 : greater than

-ge 大於等於: greater equal

-lt 小於: less then

-le 小於等於: less equal

<  小於(需要雙括號),如:(("$a" < "$b"))

<= 小於等於(需要雙括號),如:(("$a" <= "$b"))

> 大於(需要雙括號),如:(("$a" > "$b"))

>= 大於等於(需要雙括號),如:(("$a" >= "$b"))

$# 是啟動指令碼攜帶的引數個數

$0 表示第0個引數. 也就是執行的指令碼命令

$1 表示第乙個引數

譬如

./test.sh 1 2
那麼$0 就是 ./test.sh

$1 就是1

$2 就是2

還有就是 $# 對應是2 表示只有兩個引數

另外: $? 是shell變數, 表示 「最後一次執行命令」 的退出狀態, 0 為成功, 非0位失敗

shell指令碼積累 dirname 0

在命令列狀態下單純執行 cd dirname 0 是毫無意義的。因為他返回當前路徑的 這個命令寫在指令碼檔案裡才有作用,他返回這個指令碼檔案放置的目錄,並可以根據這個目錄來定位所要執行程式的相對位置 絕對位置除外 在 home admin test 下新建test.sh內容如下 cd dirname...

Shell指令碼知識點積累

str aaaaaaaaaaaaaa bbbbbbb str1 匹配第乙個,進行擷取 echo new str1 str1 str2 匹配最後乙個,進行擷取 echo new str2 str2 str aaaaaaaaa cc str1 匹配第乙個,進行擷取 echo new str1 str s...

shell 指令碼學習

case var in pattern statement esac case 的指令碼語法是雙分號結尾的。sed e s i.86 i386 查詢替換。sed 流編輯器 將輸入流中的i.86替換成i386。是個萬用字元。輸入流的形式可能是 管道,檔案。shell d mkdir p 指令碼的條件執...