shell程式設計學習 結構化if命令

2021-08-07 11:06:34 字數 2594 閱讀 6719

格式:

if comand

then

commands

fi或者下種格式:

if command;then

commands

fi檢查command命令執行成功($?),則執行then後面的指令

格式:if command

then

commands

else

commands

fi或者下述格式

if comand;then

commands

else

commands

fi如果command執行成功,則執行then後面的語句,否則執行else後面的語句

格式如下

if command1

then

commands

elif command2

then 

commands

elif command3

then

commands

fi上述if後面的條件都是和命令列執行結果相關的,下述的判斷條件與命令列執行無關。

格式if test condition

then

commands

fi或下面格式

if  [ condition ]

then

commands

ficondition可以判斷三種條件:

1、資料比較

2、字串比較

3、檔案比較

condition數值比較指令

比        較

描      述

n1  -eq  n2

檢查n1 n2是相等

n1  -ge  n2 

檢查n1是否大於等n2

n1  -gt   n2

檢查n1是否大於n2

n1   -le  n2

檢查n1是否小於等於n2

n1   -lt   n2

檢查n1是否小於n2

n1  -ne  n2

檢查n1 是否不等於n2

example:

var1=1

var2=2

if  [ $var1 -eq $var2 ];then

echo var1 is not equal to var2

fi字串比較功能

比  較

描述str1 = str2

檢查字串str1和str2是否相同

str1 != str2

檢查字串str1和str2是否不相同

str1 < str2

檢查字串str1是否比str2小

str1 > str2

檢查字串str1是否比str2大

-n str1

檢查字串str1是否為非空

-z str1

檢查字串str1是否為空

example:

str1=hello

str2=world

if [ $str1 = $str2 ];then

echo str1 is not equal to str2

fistr1=''

if [ -n $str1 ];then

echo str1 is not empty

fi檔案比較功能 比較

描述-d file

檢查file是否存在並且是目錄

-e file

檢查file是否存在

-f file

檢查file是否存在並且是個檔案

-r fle

檢查file是否存在並可讀

-w file

檢查檔案file是否存在並可寫

-x file

檢查檔案file是否存在並可執行

-s file

檢查檔案是否存在並且非空

-o file

檢查檔案file是否存在並歸當前使用者所有

-g file

檢查file是否存在並且預設組與當前使用者相同

file1 -nt file2

檢查file1是否比file2新

file1 -ot file2

檢查file1是否比file2舊

格式如下:

1、 [ condition1 ]  || [ condition2 ]

2、 [ condition1 ] && [ condition2 ]

雙圓括號允許將高階表示式放在比較中,格式如下

(( expression ))

[[ expression ]]

支援正規表示式裡的模式匹配 

example:

if [[ $user == r* ]]

then

echo $user

else

echo "sorry to konw"

fi七、case命令

case命令格式如下:

case variable in

pattern1 | pattern2)

commands;;

pattern3) commands;;

*) commands;;

esac

結構化程式設計

結構化程式設計方法的主要原則可以概括為自頂向下,逐步求精,模組化,限制使用goto語句。1 自頂向下 程式設計時,應先考慮總體,後考慮細節 先考慮全域性目標,後考慮區域性目標。不要一開始就過多追求眾多的細節,先從最上層總目標開始設計,逐步使問題具體化。2 逐步求精 對複雜問題,應設計一些子目標作為過...

結構化程式設計 分支結構

pl sql 提供了if else end if語句來處理分支 如下 使用分支結構為員工加薪 declare 定義加薪比例 c manager constant number 0.15 c salesman constant number 0.12 c clerk constant number 0...

結構化程式設計方法

結構化程式設計由迪克斯特拉 e.w.dijkstra 在1969年提出,是以模組化設計為中心,將待開發的軟體系統劃分為若干個相互獨立的模組,這樣使完成每乙個模組的工作變單純而明確,為設計一些較大的軟體打下了良好的基礎。基本要點 採用自頂向下,逐步求精的程式設計方法 使用三種基本控制結構構造程式 任何...