linux shell結構,linux——Shell的控制結構(附shell編寫代碼和運行結果)

針對shell的控制結構,也就是shell編程時所需要的三種控制流程,順序/分支和循環。

在bash中,順序可由簡單的輸入輸出命令組成;分支語句由if、case實現;循環語句用for、while和until來實現。

一、if語句

1、基本的if語句

語句格式:

if condition

then

satements

else

statements

fi

92f7cd17ac9d160e92e40638cbe4135d.png

輸出結果:

ec34ea97949a1f1c98a8108f228d9479.png

2、elif語句

elif語句格式:

if condition1

then

statements

elif condition2

then

statements

elif condition3

then

statements

……

else

statements

fi

dbe087efc093c4254c488ce2aecb64f3.png

輸出結果:

82c9d21237cf1f6d5eca0f01f5a2c296.png

3、if語句其他形式

①if語句嵌套形式:

if condition ; then

if condition ; then

if condition ; then

statements

fi

fi

fi

②elif格式修改后:

if condition1 ; then

statements

elif condition2 ; then ??????? statements

elif condition3 ; then ??????? statements

……

else

statements

fi

7d7141919cc4a48891f90a9a1ff19d32.png

輸出結果:

c0c2f284a3537670a933c6eb2577ce58.png

二、case語句

case是一個多分支結構,根據變量與各模式的匹配確定執行相應的語句序列。

case語句格式:

case variable in

pattern1) statements;;

pattern2) statements;;

pattern3) statements;;

……

patternn) statements;;

×) statements;;

esac

(1)簡單的case腳本編寫:

a2f8711a3ad52bfd82187cec8f5c532d.png

輸出結果:

a0e9450cad654ad4512b6365006203e2.png

(2)case的合并匹配模式,即在每一個模式中,還可以使用通配符和邏輯符號

28a2af88fd5dd98da1b1077f720cc867.png

輸出結果:

254b673b212d5f84cb29142c9df48716.png

(3)在case中,每個分支還可以執行多條命令:

bd73ecbf18a6f110211cd79376be27e0.png

輸出結果:

c0f8aa1cdd65ef444138e5daf1b1cab2.png

三、for語句

for語句的語法格式:

for variable in values

do

statements

done

(1)簡單的for腳本

65d6529714f5ef3e21aff6f6812c7b7b.png

輸出結果:

10ded46a5d74c5e7c0b62478752e19bc.png

(2)在for循環中使用通配符

9594965b6ff0b0a7b613c7d814b295da.png

輸出結果:

430537d514f98d709275896854459750.png

四、while語句

while語句格式:

while condition

do

statements

done

簡單的while判斷

28976c2e92bf017c47310894101808bd.png

輸出結果:

dfd7bc7f02ff0b3c632dad0fe61e03a2.png

五、until語句

until語法格式:

until condition

do

statements

done

36064cc5ee27291eb47e6595fe4a734b.png

輸出結果:

a90e3c96d6adac91ffb2320e9e8b1e81.png

六、break語句

break命令

break命令的功能是在控制條件為滿足之前,跳出for、while或until循環。可以用break命令提供一個額外的數值參數來表明所要提跳出的循環層數,但一般情況下并不建議這么做,因為它將大大降低程序的可讀性。

編寫一個break腳本跳出if循環:

05bc9eddda5eb7206b07df4f1fe6ac7f.png

輸出結果:

2657d1f78cce45d27f75b5573f33b01d.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533314.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533314.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533314.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言里字符串和字符串字面量,string literals(字符串字面量)

構造一個指定字符數組類型的未命名對象,用于需要在源代碼中嵌入字符串時使用。句法" s-char-sequence "(1)u8 " s-char-sequence "(2)(since C11)u " s-char-sequence "(3)(since C11)U " s-char-sequence "(4)(since C11)…

c語言 函數指針開銷,函數指針是否使程序變慢?

AnT..82您可以看到,在從性能角度來看實際上很重要的情況下,例如在一個周期中多次重復調用該函數,性能可能根本不同.這對于人們來說可能聽起來很奇怪,他們習慣于將C代碼視為由抽象的C機器執行的,其機器語言與C語言本身密切相關.在這種情況下,"默認情況下"對函數的間接…

tms320c2000 c語言偽指令,TMS320F240XDSP匯編及C語言多功能控制應用(附光盤)

摘要:本書以SNF2407M實驗開發系統配合CPLD的SNDSP2407P接口,以簡易的C語言和快速的匯編語言編寫達20個以上的范例實驗及多個專題制作,主要內容如下:TMS320LF2407系列MCU的硬件架構,內存配置及指令格式和其運作功能;C2000的CC或CCS程序的編輯,編譯及除錯等操作;DSP搭…

用C語言編寫繩索運動函數,福建省教師招聘考試小學數學真題試卷

2014年福建省中小學新任教師公開招聘考試小學數學試卷(課程代碼09202)1. 本試卷滿分150分,考試時間120分鐘。2. 本試卷分為兩部分:第一部分為選擇題,第二部分為非選擇題。3. 請把所有答案涂、寫在答題卡上。不要錯位、越界答題.一、單項選擇題…

c語言 三個小球排排坐,關穎三個孩子排排坐 太萌啦

0關穎三個孩子排排坐 太萌啦2019-12-10 10:596月20日,關穎在微博上曬出三個孩子坐在墊子上的照片,配文:“Terrible two has officially started today. Happy happy birthday Phi Phi! 家庭樂趣其中一件事情 就是和小朋友不斷的唱生日歌吹蠟燭…

大學生學C語言用什么筆記本電腦,有哪些適合大學生用的筆記本電腦

高考成績公布之后又有一大波新大學生即將入學,筆記本電腦也將是大學生必不可少的一款電子數碼產品,但是現在市面上電腦繁多,又有哪些比較不錯的電腦適合新入學的大學生呢?惠普 HP Envy 13 (2019)現在,最適合學生的筆記…

android自帶下拉阻尼動畫,android 有阻尼下拉刷新列表的實現方法

本文將會介紹有阻尼下拉刷新列表的實現,先來看看效果預覽:這是下拉狀態:這是下拉松開手指后listView回滾到刷新狀態時的樣子:1. 如何調用雖然效果圖看起來樣子不太好看,主要是因為那個藍色的背景對不對,沒關…

android viewpager畫廊,Android使用ViewPager實現畫廊效果

按照國際慣例,先上效果圖其實這跟普通的ViewPager原理都一樣,需要改變的地方就是:1.增加滑進和滑出的動畫效果2.縮小ViewPager的大小,給屏幕上留出上一張和下一張視圖的空間布局文件:xmlns:android"http://schema…

excel 區間人數柱狀圖_Excel中,區間統計的3種技巧都不掌握,那就真的OUt了!

點擊上方"Excel函數公式"免費訂閱 Excel的最大功能在于數據的分析與處理,在數據分析和處理中,區間統計是非常廣泛的,各位親是怎么操作的呢?如果還不掌握,且看小編給大家帶來的“區間統計”的3種應用技巧。一…

nova8pro能升級鴻蒙嗎,華為將有48款產品可以升級到鴻蒙 2.0系統

網站Huawei Central最近報道稱,將有48款產品可以升級到鴻蒙 2.0系統,包括華為及其子品牌Honor的智能手機,平板電腦和智能手表。 Huawei Central名單中有3款未發布的手機Huawei Nova 8和Nova 8 Pro,以及Honor V40。 它們將在推出時…

patran如何看屈曲因子_校準證書中的修正值、修正因子,你真的會用嗎?

一些儀器設備校準回來會產生修正值/修正因子,然而很多實驗室小伙伴們不懂得如何正確使用這些修正值/修正因子?為幫助廣大實驗室能規范正確地使用修正值/修正因子,小析姐 特為大家推送這篇文章~【概念】修正值:為修正某一測量器具的…

android 生成debug.keystore,android sdk 如何重新生成debug.keystore

1)首先你要確定你安裝的JDK位置,Windows->Preferences->Java->Installed JREs,你可以看到是Jre的location,再在dos cmd模式下查看你當前系統的path是否已經包含了。如果沒有包含添加到當前環境參數中。因為我們要用到的keytool命令在這個目錄下呀。2)接下來…

已知a類被打包在packagea_2021考研干貨:199管理類聯考綜合邏輯歸納習題(1)

199管理類聯考綜合中的邏輯,所占分值為60分。因此,備考2021考研199管綜的考生們,需要在內容上面多下功夫復習。題目:小張夫婦想買套房子,經他一番挑選,目標鎖定某座樓的3套房。已知:這三套房子中…

凱立德手機導航(家園版) v5.3 for android,凱立德手機導航(家園版)android平臺

感謝您閱讀凱立德手機導航產品下載安裝教程,請根據以下步驟進行操作。下載安裝過程完成后,您將體驗到更為專業的凱立德導航服務。安裝前請認真閱讀以下文字:1、為了減少導航產品所占容量,本導航產品分主程序和地圖數據兩部分。下載…

android性能優化 掘金,Android性能優化之內存泄漏

內存泄漏:內存單元使用完成后未釋放,未回收。理解強弱引用和gc垃圾回收機制后,會更好的理解內存泄漏問題。在目前的Android項目中,內存泄漏是無法避免的,在編寫代碼時要是否產生了內存泄漏。內存泄露中要注意對象、變量…

clocks_per_sec 時間不正確_你該擁有的不只是護膚品,還有正確護膚時間表

同樣是護膚,為什么你的效果始終不如意?其實,不同的時間段,皮膚各司其職,都有著不同的“任務”和“狀態”。快跟芭姐一起了解一下這份《皮膚時間表》,看看如何讓護膚效果事半功倍吧!清潔是喚醒肌…

jdbc連接數據scanip_JDBC連接數據庫的四種方式:DriverManager,DataSource,DBCP,C3P0

方法1:使用java.sql.DriverManager類驅動管理器類,用于管理所有注冊的驅動程序。(注:DataSource 接口是 JDBC 2.0 API 中的新增內容,它提供了連接到數據源的另一種方法。使用 DataSource 對象是連接到數據源的首選方法。)常用的兩…

HTML下拉菜單怎么做成橫向,css導航條橫向帶下拉菜單

cssdiv導航下拉二級菜單豎排效果如何改為橫排?,在“下一站”有三個二級豎排菜單,如何能變為橫排?困擾了我一天了,讓二級菜單變成一行,只需要在豎排的效果上,讓二級菜單都浮動起來,這…

java移動端接口測試_使用java如何進行接口測試

關于接口測試, 我們之前介紹過很多方法了, 有postman, soapUI, Jmeter等, 他們各有優勢和劣勢, 今天和大家分享的是如何用java TestNG來實現接口測試.開始測試之前需要如下準備工作:1. IDE環境, Intellij 或者eclipse, 個人推薦使用Intellij.2. JKD1.8 以上3. Maven 環境 Maven…

html5折疊卡片,基于HTML5折疊卡片式下拉菜單代碼

基于HTML5折疊卡片式下拉菜單代碼。這是一款基于jQueryCSS3HTML5實現的下拉列表框特效代碼。效果圖如下:實現的代碼。hmtl代碼:愛編程愛編程 jQuery特效 CSS3特效 HTML5特效 音效下載 flash動畫js代碼:(function ($) {var cards $(.card-dro…