shell (3)指令碼引數傳遞與數學運算

一个路过的小盆友發表於2024-11-17

🌟宣告🌟
紅客全棧教程
學習影片來自UP 瀧羽sec,如涉及侵權馬上刪除文章
以下只涉及學習內容,其他都與本人無關,切莫逾越法律紅線,否則後果自負。

星河飛雪網路安全人才培養計劃,絕對零區,公益免費教學!沒有網路安全,就沒有國家安全!

指令碼引數如何傳遞?

echo 執行的檔名是:$0
echo 第一個引數是:$1
echo 傳遞的引數作為一個字串顯示:$*
echo 傳遞的引數獨立作為每個字串顯示:$@
echo 傳遞到指令碼的引數個數是:$#
echo 最後命令的退出狀態:$?
echo 指令碼執行的當前程序ID是:$$

指定一個引數:sh 1.sh name

傳遞多個引數:sh 1.sh id name password

echo 執行的檔名是:$0
echo 第一個引數是:$1
echo 第一個引數是:$2
echo 第一個引數是:$3
echo 傳遞的引數作為一個字串顯示:$*
echo 傳遞的引數獨立作為每個字串顯示:$@
echo 傳遞到指令碼的引數個數是:$#
echo 最後命令的退出狀態:$?
echo 指令碼執行的當前程序ID是:$$

shell程式設計中的數學運算

利用expr進行運算

expr 1 + 1	#必須要有空格
expr 1 - 1
expr 5 \* 5	#乘需要轉義
expr 5 / 5
expr 20 % 10

混合運算

expr 1 + 1 \* 7 
expr \(1 + 1) \* 7 #括號也需要轉義

用在變數身上

name=`expr 1 + 1`	#使用反引號、括號、let
name=$(expr 1 + 1)
((name=expr 1 + 1))
let name=1+1
echo $name

相關文章