天天看點

Shell程式設計

1.變量

#!/bin/bash
#案例1:定義變量A
A=100
#輸出變量需要加上$
echo A=$A
echo "A=$A"
#案例2:撤銷變量A
unset A
echo "A=$A"
#案例3:聲明靜态的變量B=2,不能unset
readonly B=2
echo "B=$B"
#unset B
#将指令傳回的結果賦給變量
:<<!
C=`date`
D=$(date)
echo "C=$C"
echo "D=$D"
!

           
Shell程式設計

2.參數變量

#!/bin/bash
echo "0=$0 1=$1 2=$2"
echo "所有的參數=$*"
echo "$@"
echo "參數的個數=$#"
           
Shell程式設計

3.表達式計算

#!/bin/bash
#案例1:計算(2+3)X4的值
#使用第一種方式
RES1=$(((2+3)*4))
echo "res1=$RES1"
#使用第二種方式, 推薦使用
RES2=$[(2+3)*4]
echo "res2=$RES2"
#案例2:請求出指令行的兩個參數[整數]的和 20 50
SUM=$[$1+$2]
echo "sum=$SUM"

           
Shell程式設計

if語句

#!/bin/bash
#"ok"是否等于"ok"
#用=
if [ "ok"="ok" ]
then
        echo "equal"
fi

#23是否大于等于22
if [ 23 -ge 22 ]
then
        echo "大于"
fi

# 判斷/mnt/c/Users/丁帥帥/Desktop/test目錄中是否存在aaa.txt
# 判斷語句:使用 -f
if [ -f /mnt/c/Users/丁帥帥/Desktop/test/aaa.txt ]
then
        echo "存在"
fi
           

注意空格

Shell程式設計
#案例:請編寫一個shell程式,如果輸入的參數,大于等于60,則輸出 "及格了",如果小于60,則輸出 "不及格"
if [ $1 -ge 60 ]
then 
	echo "及格了"
elif [ $1 -lt 60 ] 
then
	echo "不及格"
fi

           
Shell程式設計

case語句

#!/bin/bash
#案例1 :當指令行參數是 1 時,輸出 "周一", 是2 時,就輸出"周二", 其它情況輸出  "other"
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other..."
;;
esac
           
Shell程式設計

for語句

#!/bin/bash
#列印指令行輸入的參數
for i in "$*"
do
        echo "num is $i"
done


echo "++++++++++++++++++++++++++"
for i in "$@"
do
        echo "num is $i"
done


for i in 1 3 4 6 8 9
do
        echo "$i"
done
           
Shell程式設計
#!/bin/bash
#從1加到n
SUM=0;
for(( i=1; i<= $1; ++i))
do
        SUM=$[$SUM+$i]
done
echo "總和SUM=$SUM"
           
Shell程式設計

while語句

#!/bin/bash
#從1加到n
SUM=0
i=0
while [ $i -le $1 ]
do
        SUM=$[$SUM+$i]
        i=$[$i+1]
done
echo "執行結果=$SUM"
           
Shell程式設計

read語句

#!/bin/bash
#案例1:讀取控制台輸入一個NUM1值
read -p "請輸入一個數NUM1=" NUM1
echo "你輸入的NUM1=$NUM1"
           
Shell程式設計

函數

#!/bin/bash
# 計算輸入兩個參數的和
#定義函數
function getSum() {

        SUM=$[$n1+$n2]
        echo "和是=$SUM"
}

#輸入兩個值
read -p "請輸入一個數n1=" n1
read -p "請輸入一個數n2=" n2

#調用自定義函數
getSum $n1 $n2
           
Shell程式設計

有的要别人來設定目标,有的給别人設定目标;

有的需要感情支援生活,有的需要意志支援生活。