聲明: 以下為個人筆記,內容不完全正確,請謹慎參考。 while迴圈 while迴圈結構 while [條件判斷] do 程式 done 腳本示例: 點擊查看代碼 #!/bin/bash while [ $a -le $1] do sum=$[ $sum + $a ] done echo $sum ...
聲明:
以下為個人筆記,內容不完全正確,請謹慎參考。
while迴圈
while迴圈結構
while [條件判斷]
do
程式
done
腳本示例:
點擊查看代碼
#!/bin/bash
while [ $a -le $1]
do
sum=$[ $sum + $a ]
done
echo $sum
簡易寫法:
點擊查看代碼
#!/bin/bash
a=1
while [ $a -le $1 ]
do
let sum+=a
let a++
done
echo $sum
read 讀取控制台輸入
基本語法:
read(選項)(參數)
1、選項
-p: 指定讀取值時的字元;
-t: 指定讀取值等待時間(秒->s)如果-t 不加表示一直等待。
2、參數
變數: 指定讀取值的變數名
示例:
點擊查看代碼
#!/bin/bash
read -t -p "請在5s內輸入您的相關個人信息,超時將退出。" AS
echo $AS
函數
先舉一個小慄子:
點擊查看代碼
#!/bin/bash
filename="$1"_log$(datename +%s)
echo $filename
1.1 basename
基本語法
basename [string/patename] [suffix]
功能描述:basename命令會刪掉所有的首碼包括最後一個('/')字元,然後將字元串顯示出來。
basename可理解為去路徑的文件名
選項:
suffix為尾碼,如果suffix被指定了,basename會將pathname中的suffix去掉。
腳本示例:
點擊查看代碼
#!/bin/bash
echo '========== $n ==========='
echo /home name: $(basename $0 .sh)
echo /home/xiaohu name: $(cd
$(dirname $0); pwd)
echo op name: $1
echo op name: $2
自定義函數:
基本語法:
[function] funname[0]
{
ACTION
[return int;]
}
技巧:
1、必須在調用函數地方之前,先聲明函數,shell腳本是否在逐步運行,不會像其他語言一樣先編譯。
2、函數返回值,只能同歸$?變數獲得,可以顯示加: return返回。
如果不加,將以最後一條命令運行結果,作為返回值。renturn[0~255]
腳本示例:
點擊查看代碼
#!/bin/bash
function add(){
s=$($1 + $2)
echo $s
}
echo '=========== 調用參數 ============'
read -p "請輸入第一個整數:" a
read -p "請輸入第二個整數: " b
echo '=============== 傳參 ========='
sum=$[add $a $b]
echo "和:"$sum
echo "和的平方:"$[$sum * $sum]