shell腳本之for循環

一、循環中的常見語句

1.1?echo?打印
  • -n?:表示不換行輸出
  • -e?:輸出轉義字符
    • \b?:相當于退格鍵(backspace)
    • \n?:換行,相當于回車
    • \f?:換行,換行后的新行的開頭連著上一行的行尾
    • \t?:插入一個tab鍵,橫向制表符,相當于一個大空格鍵

1.2 循環控制語句
break :跳出當前循環并終止

continue:跳出當前循環,如果條件仍滿足,繼續執行循環

exit:滿足條件,立即退出腳本

對于多層循環,在內層循環使用break、continue只是跳出當前層的循環,如果想要跳出多層循環,可以在break、continue后加上跳出的層數,比如要跳出雙循環可用break 2 ,continue 2。
?

1.3?while?和?until?的用法

while滿足條件就執行循環,不滿足條件才會退出。

while適用場景:死循環,不知道循環多少次,需要主動結束循環或者達到條件才結束循環

死循環:三種格式

  • while true?#永遠為真,即死循環
  • while [ 1 -eq 1 ]?#相當于true,[ ]里是一個永遠為真的條件
  • while :

until循環:條件不滿足才執行循環,一旦條件成立,循環終止。即執行命令直到滿足until的條件才終止。

二、練習

  1. 用戶名存放在users.txt文件中,每行一個。判斷文件里的用戶名是否存在。
    如果用戶存在,提示用戶已存在
    如果用戶存在,但是沒有設置密碼,要提示用戶設置密碼
    如果用戶不存在,創建用戶,然后給用戶創建密碼。

2、測試一個網段,C類私有地址,32位的網段,測試可以ping通的地址,保留到/opt/hosts.txt;如果不通,提示不通即可。

wait表示等待當前 Shell 中所有在前臺或后臺運行的子進程(包括通過 & 啟動的后臺任務)完成后再返回

3、購物例題:

逛淘寶選購商品,每家商店有五種商品選購(衣服500元,褲子400元,鞋子350元,帽子150元,襪子50元),每次選購完或不買都會提示用戶是否繼續逛下一家商店,如果不再繼續逛的話進行購物車結算總額。

驗證

4、某山頂上有一顆香蕉樹,一只猴子第一天從樹上摘了若干根香蕉,當即就吃了一半,還不過癮,又多吃了一根。第二天猴子又將剩下的香蕉吃了一半,禁不住誘惑,又多吃了一根香蕉。
依此類推,每天都將剩余的香蕉吃一半后再多吃一根。到了第十天,猴子發現只剩一根香蕉了,
請問這只猴子在第一天總共摘了多少根香蕉?


?驗證

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

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

相關文章

編程用什么軸體比較好用:全面解析四種軸體的優劣與應用

編程用什么軸體比較好用:全面解析四種軸體的優劣與應用 在編程的世界里,選擇一款合適的機械鍵盤軸體,不僅能提升工作效率,更能帶來舒適的打字體驗。然而,面對市場上琳瑯滿目的軸體類型,究竟該如何選擇呢&a…

a+=1和a=a+1的區別

文章目錄 a1 和a a1的區別一、實例代碼二、代碼解釋三、總結 a1 和a a1的區別 一、實例代碼 public class Test {public static void main(String[] args) {byte a 10; // a a 1; // a (byte) (a 1);a 1;System.out.println(a);} }上面的對變量a進行加一操作時&a…

[Linux安全運維] Nginx相關

Nginx相關 1. 概述 Nginx是一種Web服務器,其具有高并發、高負荷的能力,具有以下優點: 穩定、系統資源消耗少、占用內存較少。軟件安裝包小且定制化強。具有高并發能力,可處理30000-50000個請求。 Nginx作為靜態頁面的web服務器…

【《流暢的python》3.2-3.3節學習筆記】

目錄 前言字典推導dict.setdefault總結 前言 本文為《流暢的python》的3.2-3.3節的學習筆記。 字典推導 DIAL_CODES [(86, China),(91, India),(1, United States),(62, Indonesia),(55, Brazil),(92, Pakistan),(880, Bangladesh),(234, Nigeria),(7, Russia),(81, Japan),…

linux命令: ssh的使用

ssh隧道連通aws亞馬遜云 ssh -D 7017 -i "/cygdrive/e/tbqapps2/cfg/*****.pem" adminec2-43-207-84-117.ap-northeast-1.compute.amazonaws.com ssh -o ServerAliveInterval30 -fN -D 8080 root39.105.185.11ssh -fN -D 7002 -i "D:\tbqapps2\cfg\******.pem&…

Oracle 23ai 中的重要新特性 VECTOR 數據類型

Oracle 23ai 中的 VECTOR 數據類型是 Oracle 數據庫在 AI 領域的一個重要新特性,它允許用戶以向量的形式存儲數據,并在這些向量的基礎上進行高效的搜索和分析。以下是對 Oracle 23ai VECTOR 數據類型的詳細解析: 參考官方文檔地址 https://d…

【Ubuntu-18.04.6 LTS (Bionic Beaver)】串口無法root登錄解決方案

root用戶無法再窗口登錄 用戶界面登錄提示 soory that didnot work 解決方案 GDM 配置 /etc/gdm3/custom.conf 中增加或刪除注釋 [security] AllowRoottrue重啟服務 service gdm restart確認 PAM 配置 GDM 使用 PAM 進行認證,可能 PAM 配置中限制了 root 登錄…

GitHub網頁打開慢的解決辦法

有時候看資料絮叨github網頁打不開,經百度后,發下下面的方法有效。 1)獲取github官網ip 我們首先要獲取github官網的ip地址,方法就是打開cmd,然后ping 找到github的地址:20.205.243.166 2)配…

體驗升級!貴州“森林之城”攜蘇州金龍新V系譜寫高端旅運新篇章

自今年出臺文旅“四免一多一減”方案以來,貴州省圍繞旅游資源,著力打造亮點,不斷提升產品供給水平,旅游市場持續火爆。近日,貴州森林之城旅運公司從蘇州金龍批量采購50座海格新V系豪華大巴,為貴州高端旅游市…

域名系統DNS的工作原理和服務搭建

文章目錄 域名解析和DNSDNS概念 DNS服務工作原理遞歸查詢迭代查詢遞歸和迭代的區別DNS緩存 DNS服務器的安裝whoisDNS軟件bind DNS主服務器實現1.在主配置文件中定義區域2.定義區域解析庫文件各種資源類型解析庫記錄定義項 3.配置識別區域庫文件4.重啟named服務啟用DNS客戶端緩存…

【EasyExcel】動態替換表頭內容并應用樣式

1.定義實體類 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ContentStyle; import com.alibaba.excel.metadata.BorderStyleEnum; import com.alibaba.excel.metadata.VerticalAlignmentEnum; import com.alibaba.excel.metadata.…

Java--static詳解

1.static靜態的意義,加在屬性面前就為靜態屬性;加在方法面前就為靜態方法 2.如圖,定義了一個靜態屬性age,一個非靜態屬性score; 輸出語句一共四句,其中第三句報錯,由于靜態和非靜態的區別&…

微氣象儀的工作原理

型號推薦:云境天合TH-WQX5】風力發電傳感器在風力發電系統中起著至關重要的作用,它們能夠實時監測和記錄各種關鍵參數,為風力發電機組的控制提供數據支持,從而確保風力發電系統的安全、高效運行。以下是對風力發電傳感器的詳細解析…

程序員有哪些職位?

互聯網行業中的崗位種類繁多、五花八門,學習一門技術后,重要的是找到合適的職業發展方向,程序員有哪些職業發展方向?一起來看看吧! 1.架構師 架構師需要程序員有強大的技術實力和深厚的技術積累。建筑師的成長需要經…

使用Docker制作python項目鏡像

各docker桌面版本集合:如果提示新版本系統不支持,可下載舊版本 我也分享在下面。 鏈接: https://pan.baidu.com/s/1HvaO2wOIE3pNE0bM7Qm3sA?pwdg7ky 提取碼: g7ky –來自百度網盤超級會員v2的分享 來源參考:https://zhuanlan.zhihu.com/p/65…

one-hot編碼案例

import jieba from tensorflow.keras.preprocessing.text import Tokenizer # 安裝了新版本的tensorflow # from keras.preprocessing.text import Tokenizer # 系統里面沒有按照新版本的tensorflow 直接使用keras# pytroch tensorflow1.xxxx (keras) # 導入用于對象保存與加…

uniapp 九宮格抽獎

<template><view class"container"><view class"navleft" click"navback"><image src"/static/cj/left.png" mode""></image></view><view class"navtitle">抽獎</…

SAP S4 銷售組的定義和分配

spro-企業結構-定義-銷售與分銷-維護銷售組 新增一個記錄 spro-企業結構-分配-銷售與分銷-給銷售辦公室分配銷售組

JavaScript-map方法

map可以遍歷數組處理數據&#xff0c;并返回新的數組 語法&#xff1a; ?const arr[元素1&#xff0c;元素2&#xff0c;元素3] const newarrarr.map(function(數組的元素,數組的索引)){return 新元素 } const arr[blue,red,green]const newarrarr.map(function(ele,index){co…

詳細介紹TS中的枚舉

在 TypeScript 中&#xff0c;枚舉&#xff08;Enums&#xff09;是一個用于表示常見常量集合的便利特性。枚舉是一種特殊的類型&#xff0c;它們允許你為一組值定義一個固定的命名空間。枚舉常用于模式匹配的 switch 語句和提供更可讀的類型檢查。 枚舉的基本語法&#xff1a…