shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句
case多分支語句
循環語句
- for循環語句
- while循環語句
- untli循環語句
Shell函數
Shell數組
case語句的結構
- 針對變量的不同取值,分別執行不同的命令序列
case 變量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
......
*)
默認命令序列
esac
[root@localhost ~]# vim demo13.sh //編輯示例
#!/bin/bash
read -p "請輸入一個字符:" a //交互指令
case $a in //編輯case語句
[a-z]|[A-Z]) //模式1
echo "輸入的是字母" //輸出提示信息
;;
[0-9]) //模式2
echo "輸入的是數字" //輸出提示信息
;;
*)
echo "輸入的是特殊符號"
esac //結束語句
for語句結構
- 讀取不同的變量值,用來逐個執行同一組命令
for 變量名 in 取值列表
do
命令序列
done
- 使用場景
指定次數循環 for(int i=0;i<=10;i++)
遍歷循環(增強循環 foreach) for(int num:sum)
[root@localhost ~]# vim demo06.sh
#!/bin/bash
for ((i=1;i<=10;i++)) //循環條件
do
echo $i //輸出i變量
done
[root@localhost ~]# vim aa.txt //創建txt文檔
zhangsan
wangwu //輸入信息
lisi
zhaoliu
~
:wq
[root@localhost ~]# vim demo07.sh //編輯循環腳本
#!/bin/bash
TMP=$(cat /root/aa.txt) //設置變量
for user in $TMP //編寫循環
do
echo "用戶是$user" //輸出文檔信息
done
while語句的結構
- 重復測試某個條件,只要條件成立則反復執行
while 條件測試操作
do
命令序列
done
[root@localhost ~]# vim demo10.sh
#!/bin/bash
num=1 //聲明變量
while [ $num -le 10 ] //編輯while循環
do
echo $num //輸出循環結果
let num++; //等同于num=`expr $num+1`
done
nutil語句結構
- 重復測試某個條件,只要條件不成立則反復執行
nutil 條件測試操作
do
命令序列
done
[root@localhost ~]# vim demo15.sh
#!/bin/bash
i=0 //設置賦值變量
s=0
until [ $i -eq 51 ];do //編輯until語句
let s+=i;let i++ //計算1-50的求和過程
done
echo $s //輸出求和數值
Shell函數
- 將命令序列按格式寫在一起 (封裝)
- 可方便重復使用命令序列
- Shell函數定義
[function] 函數(){
命令序列
[return x] //使用return或exit可以顯示地結束函數
}
[root@localhost ~]# vim demo17.sh
#!/bin/bash
sum(){ //設置函數名
#命令序列
s=`expr 2 + 2` //編輯函數命令序列
echo $s //輸出計算結果
}
sum //調用輸出函數
- 調用函數的方法
函數名 [參數1] [參數2]
[root@localhost ~]# vim demo18.sh
#!/bin/bash
sum(){
s=`expr $1 + $2` //使用位置變量計算
echo $s
}
sum 2 2 //函數名后添加位置變量
Shell數組
應用場景包括
- 獲取數組長度
- 獲取元素長度
- 遍歷元素
- 元素切片
- 元素替換
- 元素刪除
- ......
數組定義方法
- 方法一
數組名=(value0 value1 value2 ...)
- 方法二
數組名=([0]=value [1]=value [2]=value ...)
- 方法三
列表名="value0 value1 value2 ..."
數組名=($列表名)
- 方法四
數組名[0]="value"
數組名[1]="value"
數組名[2]="value"
數組包括的數據類型
- 數值類型
- 字符類型
使用""或''定義
shell數組操作
獲取數組長度
- ${#數組名[@/*]}
[root@localhost ~]# num=(11 22 33 44 55) //定義數組
[root@localhost ~]# len=${#num[*]} //數組長度賦值給len
[root@localhost ~]# echo $len //輸出數組長度
5
讀取某下標賦值
- ${數組名[下表]}
[root@localhost ~]# num=(11 22 33 44 55) //定義數組
[root@localhost ~]# a=${num[0]} //賦值數組下表
[root@localhost ~]# echo $a //輸出下表
11
[root@localhost ~]# a=${num[1]}
[root@localhost ~]# echo $a
22
數組遍歷
[root@localhost ~]# num=(11 22 33 44 55) //定義數組
[root@localhost ~]# for i in ${num[*]} //使用for循環遍歷數組
> do
> echo $i //輸出數組
> done
11
22
33
44
55
寫在最后:
本專欄所有文章均為南京課工場學員投稿,如有問題歡迎指出討論,未經允許,禁止轉載!
總結
以上是生活随笔為你收集整理的shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 中考化学原理题与科学探究解题时需注意哪些
- 下一篇: 请问各位哥哥姐姐,南方或者沿海的哪些大学
