Linux shell case條件判斷及位置變數

2021-09-13 01:59:17 字數 2318 閱讀 3982

語法:

case 變數名稱 in

value1)

statement

statement

;;value2)

statement

statement

;;*)

statement

statement

;;     

esac

case語句結構特點如下:

case行尾必須為單詞 in 每個模式必須以右括號 ) 結束

雙分號 ;; 表示命令序列結束

case語句結構特點如下:

匹配模式中可是使用方括號表示乙個連續的範圍,如[0-9];使用豎槓符號「|」表示或。

最後的「*)」表示預設模式,當使用前面的各種模式均無法匹配該變數時,將執行「*)」後的命令序列。

#!/bin/bash

#read -p "輸入字串:" str

case $str in

linux|linux)

echo "windows"

;;windows|windows)

echo "linux"

;;*)

echo "other"

;;esac

[root@wei case]# bash 1.sh 

輸入字串:linux

windows

#!/bin/bash

#case $1 in

linux|linux)

echo "windows"

;;windows|windows)

echo "linux"

;;*)

echo "other"

esac

[root@wei case]# ./2.sh linux

windows

#!/bin/bash

#if [ -z $1 ];then #判斷字串是否為空

echo "使用:./2.sh"

exit 9

ficase $1 in

linux|linux)

echo "windows"

;;windows|windows)

echo "linux"

;;*)

echo "other"

esac

[root@wei case]# ./2.sh 

使用:./2.sh

#!/bin/bash

#if [ $# -ne 1 ];then

echo "使用:$0"

exit 9

ficase $1 in

linux|linux)

echo "windows"

;;windows|windows)

echo "linux"

;;*)

echo "other"

esac

[root@wei case]# /shell/case/2.sh 

使用:/shell/case/2.sh

[root@wei case]# ./2.sh 

使用:./2.sh

basename [路徑檔案]

[root@wei case]# basename /etc/fstab 

fstab

獲取檔案所在的路徑名:

dirname [路徑檔案]

[root@wei case]# dirname /etc/fstab 

/etc

#!/bin/bash

#if [ $# -ne 1 ];then

echo "使用:$(basename $0)"

exit 9

ficase $1 in

linux|linux)

echo "windows"

;;windows|windows)

echo "linux"

;;*)

echo "other"

esac

[root@wei case]# /shell/case/2.sh 

使用:2.sh

linux shell case語法介紹

一.c a s e語句為多選擇語句。可以用c a s e語句匹配乙個值與乙個模式,如果匹配成功,執行相匹配的命令。c a s e語句格式如下 case 值 i n 模式1 命令1模式2 命令2e s a c 二.取值後面必須為單詞i n,每一模式必須以右括號結束。取值可以為變數或常數。匹配發現取值符...

Linux shell case條件判斷及位置變數

語法 case 變數名稱 in value1 statement statement value2 statement statement statement statement esac case語句結構特點如下 case行尾必須為單詞 in 每個模式必須以右括號 結束 雙分號 表示命令序列結束 ...

進度條,步驟條,

1,記錄一次步驟條來實現人數不同顯示的進度不同 效果如圖 廢話不多說 上 html檔案 已有 位武魂使共赴蒼嵐 3w預約 5w預約 10w預約 20w預約 30w預約 css awards progress awards progress cur awards progress cur.item0 ...