Shell中的if和case判斷語句
在程式的執行過程中,總會遇到各種各樣的情況。而作為一個功能相對完善的程式來講,應該可以根據不同的情況來選擇執行不同的程式碼。此時,我們需要用到條件判斷語句。條件判斷語句是一種最簡單的控制語句,該語句是的程式根據不同的條件來執行不同的程式分支。
使用if語句進行條件判斷
條件判斷語句可以使用if語句來實現,最簡單的if語句的語法如下:
if expression
then
statement1
statement2
..........
fi
或者是下面的形式
if expression ; then
statement1
statement2
... .......
fi
在Shell程式中,如果想要將多個命令放在同一行裡面,則需要使用分號將其隔開。
通過條件測試判斷檔案型別
#!/bin/sh
if [ -f /bin/bash ] ; then
echo " /bin/bash is a file "
fi
指令碼的執行結果
[root@VM_156_149_centos shell]# sh 9.sh
/bin/bash is a file
通過條件測試判斷檔案是否建立成功
#!/bin/sh
echo "hello world!" > ./msg.log
if [ -f ./msg.log ] ; then
echo " file has been created ... "
fi
指令碼的執行結果,
[[email protected]_156_149_centos shell]# sh 10.sh
file has been created ...
使用if else 語句進行條件判斷
if else 語句的基本語法
if expression ; then
statement1
statement2
.....
else
statement3
statement4
.....
fi
- if else 使用的例子
#! /bin/bash
#輸出提示資訊
echo "Please enter a number:"
#從鍵盤讀取使用者輸入的資料
read num
#如果使用者資料的資料大於10
if [ "$num" -gt 10 ] ; then
#輸出大於10的提示資訊
echo "The number is greater than 10";
else
#輸出小於等於10的提示資訊
echo "The number is equal to or less than 10"
fi
- 程式的執行結果
[r[email protected]_156_149_centos shell]# sh 11.sh
Please enter a number:
7
The number is equal to or less than 10
[[email protected]_156_149_centos shell]# sh 11.sh
Please enter a number:
11
The number is greater than 10
使用case語句進行條件判斷
case語句的基本語法如下,
case variable in
value1)
statement1
statement2
.....
statementn ;; #;;相當於break
value2)
statement1
statement2
.....
statementn ;; #;;相當於break
.....
*)
statement1
statement2
.....
statementn ;; #;;相當於break
esac
利用case處理使用者輸入
#! /bin/bash
#輸出提示資訊
echo "Hit a Key ,then hit return ."
#讀取使用者按下的鍵的資訊
read keypress
#case語句開始
case "$keypress" in
#小寫字母
[[:lower:]])
echo "Lowercase letter " ;; #這裡的;;不能忘記
#大寫字母
[[:upper:]])
echo "Uppercase Letter " ;; #這裡的;;不能忘記
#單個數字
[0-9])
echo "Digit " ;;
#其他字元
*)
echo "Other Letter " ;; #這裡的;;不能忘記
esac
- 程式的執行結果
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
1
Digit
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
e
Lowercase letter
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
E
Uppercase Letter
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
Other Letter
相關推薦
Shell中的if和case判斷語句
在程式的執行過程中,總會遇到各種各樣的情況。而作為一個功能相對完善的程式來講,應該可以根據不同的情況來選擇執行不同的程式碼。此時,我們需要用到條件判斷語句。條件判斷語句是一種最簡單的控制語句,該語
續寫vim,shell腳本基礎編輯,read命令,if與case判斷語句,文件查找方式,壓縮與解壓,
退出 hist match 時間戳 語法錯誤 margin 基本概念 相同 reg 一、 Vim續寫 ?1、命令擴展模式的位置定界 ??起始位置 cmd 終止位置???Cmd:????y復制????d刪除????Gu變大寫????gu變小寫??例如:0y$命令意味著:
shell 中 if 和 else 用法詳解
基本語法 shell的if語法和C語言等高階語言非常相似,唯一需要注意的地方就是shell的if語句對空格方面的要求比較嚴格(其實shell對所有語法的空格使用都比較嚴格),如果在需要空格的地方沒有打上空格,都會報錯。如if [ $1x == "ip"x ];then ec
shell中if判斷語句
file true pan rep then 好的 test 遇到 col if 條件測試類型: 文件測試, 數字測試, 字符串測試 if 語句結構: if ... ; then ....; fi if ... ; then ... ; else ... ; fi
Shell中if條件語句的知識和實踐
linux 運維 shell腳本本文主要講解if條件語句在shell的使用場景和示例基本大綱: 1.if條件語句的語法 2.if條件語句多種條件表達式語法 3.單分支if條件語句實踐 4.if條件語句的深入實踐及場景使用一:if條件語句的語法1)單分支結構第一種語法:if
MySQL中的if和case語句使用總結
Mysql的if既可以作為表示式用,也可在儲存過程中作為流程控制語句使用,如下是做為表示式使用: IF表示式 程式碼如下: IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <>
[shell]shell中if語句的使用
don 條件 如何 ood 字符串 pre 評分 string 另一個 轉自:http://lovelace.blog.51cto.com/1028430/1211353 bash中如何實現條件判斷?條件測試類型: 整數測試 字符測試 文件測試 一、條
Shell腳本之for、while循環語句和case分支語句
for語句 while語句 case語句 shell 楊書凡 shell作為一種腳本編程語言,同樣包含循環、分支等其他程序控制結構,從而輕松完成更加復雜、強大的功能使用for循環語句 在工作中,經常遇到某項任務需要多次執行,而每次執行僅僅是處理對象不一樣,其他命令都相同。使用
shell中if語句的使用
轉載:https://blog.csdn.net/sunny05296/article/details/65987237 Linux shell if 語法 基本語法: if [ command ]; then 符合該條件執行的語句 fi 2、擴充套件語法: if [ c
linux中 shell 中 if 條件判斷中 -a 到 -z 的意思
[ -a FILE ] 如果 FILE 存在則為真。 [ -b FILE ] 如果 FILE 存在且是一個塊特殊檔案則為真。 [ -c FILE ] 如果 FILE 存在且是一個字特殊檔案則為真。 [ -d FILE ] 如果 FILE 存在且是一個目錄則為真。 [ -e FILE ] 如果 FIL
關於verilog中if與case語句不完整產生鎖存器的問題
一、是什麼 鎖存器是一種在非同步時序電路系統中,對輸入訊號電平敏感的單元,用來儲存資訊。一個鎖存器可以儲存1bit的資訊,通常,鎖存器會多個一起出現,如4位鎖存器,8位鎖存器。 鎖存器在資料未鎖存時,輸出端的訊號隨輸入訊號變化,就像訊號通
oracle if 和 case語句的使用
oracle if語句和case語句的使用例子 --------------------if---------------------------- set serveroutput on declare v_n1 number(2):=-9; begin i
兩個數判斷大小(不能用 if, switch, ?, 和其他判斷語句)
求最值,考慮數學關係 程式碼如下( C ): #include <stdio.h> #include <math.h> #define MAX(a,b)
hive中if和coalesce 去除null值,case when
ref http://blog.csdn.net/mtj66/article/details/52629876 ###################################### if usage select * from (select *,if (b.nam
shell中if條件字串、數字比對,[[ ]]和[ ]區別
轉載地址:http://71241.blog.51cto.com/61241/1341137 學習shell的時候總是被shell裡的條件判斷方式搞得頭疼,經常不知道改 用[],[[]],(())還是test,let,今天重點說說它們的區別的使用時應該注意的地方.
MySQL中的if和case用法
Mysql中的if既可以作為表示式使用,也可以在儲存過程中作為流程控制語句使用。 IF表示式 IF(expr1,expr2,expr3) 如果expr1是TRUE(expr1 <> 0 and expr1 <> NULL),則
shell中if語句的格式以及使用
比較兩個字串是否相等的辦法是: if [ "$test"x = "test"x ]; then 這裡的關鍵有幾點: 1 使用單個等號 2 注意到等號兩邊各有一個空格:這是unix shell的要求 3 注意到"$test"x最後的x,這是特意安排的,因為當$test為
shell中if判斷資料夾或檔案是否存在!
if比較的字元用法: 1 2 3 4 5 6 7 8 9 10 11 12 13 -e 判斷物件是否存在 -d 判斷物件是否存在,並且為目錄
shell編程學習筆記(八):Shell中if判斷的使用
空格 score 相等 span shell編程 str2 != color font 一、if的語法: 1、單分支語句結構 if [ 條件表達式 ]; then 指令 fi 2、雙分支語句結構 if [ 條件表達式 ]; then
shell 中 exec 和 source 命令解析
mage 開始 概念 繼續 uil target 緩沖區 mman bash內部命令 文章大部分來源於:http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html 作為筆記留存博客備忘。 exec和source