宣告:
以下為個人筆記,內容不完全正確,請謹慎參考。
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]