網(wǎng)站開發(fā)取名南寧排名seo公司
我是南城余!阿里云開發(fā)者平臺專家博士證書獲得者!
歡迎關(guān)注我的博客!一同成長!
一名從事運維開發(fā)的worker,記錄分享學習。
專注于AI,運維開發(fā),windows?Linux?系統(tǒng)領(lǐng)域的分享!
其他中間件安裝可參考下方知識庫!
本章節(jié)對應知識庫
shell · 語雀
#變量聲明 不能有空格
my_var="hello nanchengyu" #雙引號 單引號均可
echo $my_var #輸出聲明變量export $my_var #將變量提示為全局變量#撤銷變量 unset 變量名
#聲明靜態(tài)變量 readonly 變量 注意不能使用 unset#特殊變量 $n(n為數(shù)字,$0表示該腳本名稱,$1-9代表第一到第九個參數(shù),十以上的參數(shù)需要使用大括號包含,例如${110})
#./hello.sh xiaoming #后面直接跟參數(shù)即可
# $# (獲取所有的輸入?yún)?shù)的個數(shù),常用于循環(huán),判斷參數(shù)的個數(shù)是否正確,以及加強腳本的健壯性)
# $*(這個命令就是相當于寫入腳本中,把所有的腳本中的參數(shù)輸出,把所有的參數(shù)看成一個整體相當于 字符串)
# $@ (同上,不過把每個參數(shù)區(qū)別對待 想等于數(shù)組)
#$? (最后一次執(zhí)行的命令返回的狀態(tài),如果變量的值為0,代表上一次命令正確執(zhí)行,如果非0,則相反,命令執(zhí)行錯誤)#編寫腳本 第一行默認帶上 #!/bin/bash#運算
$((運算符)) 或者 $[運算符]#條件判斷 [ condition ](注意 condition 前后要有空格) 返回0 代表true 返回1 代表false 與其他編程語言相反
#不能使用 > < 因為在Linux中 > 表示輸出覆蓋
#-eq 表示等于 -ne表示 不等于(not equal) -lt(less then)小于
#-le 小于等于 (less equal) -gt 大于 (greater than) -ge 大于等于 (greater equal)#if判斷
if [ 條件判斷式 ];then 程序
fi
#或者
if [條件判斷式]
then 程序
fiif [條件判斷式]
then程序
elif [條件判斷式]
then 程序
else程序
fi#函數(shù)
?
條件分支
?
#!/bim/bashif [ "$1"x = "nanchengyu"x ] #x沒含義,只是一種分隔符,防止程序報錯
thenecho "hello , nanchengyu"
fi#輸入第二個參數(shù)
if [ $2 -lt 18 ]
then echo "問成年人"
elif [ $2 -lt 35 ]
then echo "青年人"
elif [ $2 -lt 60 ]
then echo "中年人"
elifecho "老年人"
fi#執(zhí)行該腳本并傳入兩個參數(shù) ./test.sh nanchengyu 20
正則表達式
#特殊字符
#1.^ 匹配一行的開頭 例如 cat /etc/passwd | grep ^a 會匹配所有以a開頭的行#2.$ 匹配一行的結(jié)束 例如 cat /etc/passwd | grep t$?
#3. . 匹配一個任意的字符 ?一個點代表一個字符 例如 cat /etc/passwd | grep r..t 會匹配包含rabt rbbt root 等的所有行