IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> shell语法----循环语句 -> 正文阅读

[系统运维]shell语法----循环语句

for…in…do…done
命令格式:

for var in val1 val2 val3
do
? ? 语句1
? ? 语句2
? ? ...
done


示例1,输出a 2 cc,每个元素一行:

for i in a 2 cc
do
? ? echo $i
done


示例2,输出当前路径下的所有文件名,每个文件名一行:

for file in `ls`
do
? ? echo $file
done

示例3,输出1-10

for i in $(seq 1 10)
do
????echo $i
done

示例4,使用{1..10} 或者 {a..z}

for i in {a..z}
do
? ? echo $i
done

for ((…;…;…)) do…done

命令格式:

for ((expression; condition; expression))
do
? ? 语句1
? ? 语句2
done


示例,输出1-10,每个数占一行:

for ((i=1; i<=10; i++))
do
? ? echo $i
done

while…do…done循环

命令格式:

while condition
do
? ? 语句1
? ? 语句2
? ? ...
done


示例,文件结束符为Ctrl+d,输入文件结束符后read指令返回false。

while read name
do
? ? echo $name
done

until…do…done循环
当条件为真时结束。

命令格式:

until condition
do
? ? 语句1
? ? 语句2
? ? ...
done

示例,当用户输入yes或者YES时结束,否则一直等待读入。

until [ "${word}" == "yes" ] || [ "${word}" == "YES" ]
do
? ? read -p "Please input yes/YES to stop this program: " word
done

break命令
跳出当前一层循环,注意与C/C++不同的是:break不能跳出case语句。

示例

while read name
do
? ? for ((i=1;i<=10;i++))
? ? do
? ? ? ? case $i in
? ? ? ? ? ? 8)
? ? ? ? ? ? ? ? break
? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? *)
? ? ? ? ? ? ? ? echo $i
? ? ? ? ? ? ? ? ;;
? ? ? ? esac
? ? done
done


该示例每读入非EOF的字符串,会输出一遍1-7。
该程序可以输入Ctrl+d文件结束符来结束,也可以直接用Ctrl+c杀掉该进程。


continue命令
跳出当前循环。

示例:

for ((i=1;i<=10;i++))
do
? ? if [ `expr $i % 2` -eq 0 ]
? ? then
? ? ? ? continue
? ? fi
? ? echo $i
done


该程序输出1-10中的所有奇数。

死循环的处理方式
如果AC Terminal可以打开该程序,则输入Ctrl+c即可。

否则可以直接关闭进程:

1.使用top命令找到进程的PID
2.输入kill -9 PID即可关掉此进程

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:59:21  更:2021-11-19 18:00:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:26:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码