SHELL學習之 case語句

2021-09-13 15:05:21 字數 1155 閱讀 6924

case語句是點名語句,每個分支語句之間是平衡的,在進行判定時,每個分支語句之判定一次,適合於字元匹配。

if else 語句適合在判斷時用,if語句每個分支語句之間是有優先順序的,在進行判定時,每個語句都要判定一次。

case語句和if語句相比,判定次數少。

[root@fuwu test]# cat case.sh 

#!/bin/bash

case $1 in

student|hetoto|westos)

echo "welcome,$1"

;;*) echo "sorry!"

;;esac

[root@fuwu test]# sh case.sh

sorry!

[root@fuwu test]# sh case.sh hetoto

welcome,hetoto

[root@fuwu test]# sh case.sh toto

sorry!

[root@fuwu test]# cat jiaohu.sh 

#!/bin/bash

while true

do echo -e "

\033[31m a 顯示主機ip \033[0m

\033[32m b 顯示磁碟剩餘空間 \033[0m

\033[33m c 顯示系統執行時間 \033[0m

\033[34m q 退出系統 \033[0m

"read -p "請輸入你的選擇:" char

case $char in

a|a)

ifconfig eth0 | grep "inet " | awk ''

;;b|b)

df -h | awk 'nr==2'

;;c|c)

uptime |awk '' | awk -f, '' | awk -f: ''

;;q|q)

exit 0

;;esac

done

執行指令碼:

shell 學習之case語句

一般建議變數用引號括起來 v 顯示資訊 case shift 把剛才的變數踢掉 一 case語句 語法結構 case stitch in value1 statement value2 statement esac 示例 給出選項讓使用者選擇,然後根據使用者所選顯示出相應的資訊 1 2 3 4 5 ...

shell邏輯控制語句之case

case分支判斷結構 語法 case 變數名稱 in value1 statement statement value2 statement statement value3 statement statement statement statement esac 編寫指令碼,判斷使用者輸入的字串 ...

shell程式設計 case語句

case語句格式 vi test.sh echo input read num echo the input data is num case num in 1 echo january 雙分號結束 2 echo feburary 5 echo may 每個case可以有多條命令 echo sdfd...