当前位置: 首页 > news >正文

shell脚本编程之“最简单的死循环”【转】

转自:http://blog.chinaunix.net/uid-23046336-id-3475462.html

 

在linux下编程的程序猿都知道shell脚本,就算你不怎么熟悉,也应该听过的吧!那在shell脚本中的死循环该怎么写呢?

对于熟悉C语言的猿人们来说,最简单的死循环应该这样写:

-------------------------------------------------------------------------

while(1)

{

    //do something

}

------------------------------------------------------------------------

或者你也可以用for语句和do...while语句来实现,这里就不说了!

可是怎么在shell脚本中写死循环呢?

对于对shell不怎么熟悉的猿人来说,相信这个问题肯定难倒过大家,反正这个问题曾经难住了我......

上网google了查阅了一番资料后,我恍然大悟了!原来可以这么写:

------------------------------------------------------------------------

while [ "1" = "1" ]

do

# do something

done

------------------------------------------------------------------------

或者

------------------------------------------------------------------------

while test "1" = "1"

do

# do something

done

------------------------------------------------------------------------

也许,你会觉得和C语言中的有点像,果不其然!但是请注意这是脚本!

看到这里你也许就知道了在shell中怎么写一个死循环了,可是这真的是最简单的死循环吗?

其实不是的!最简单的死循环该这样写,(注意:我在这里称其为最简单,也许还有跟简单的!)

------------------------------------------------------------------------

while :

do

# do something

done

------------------------------------------------------------------------

看到这里,也许你会很纳闷儿,这是什么东西,甚至怀疑我在”迈大步子“-----”扯蛋“,其实我的步子迈的很小,绝对扯不到蛋的!

没错,这的确是一个死循环,不信你可以试一下!注意”#“在shell中是注释这一行的意思,除了这个除外#!/bin/sh

还有”:“在shell中表示空语句,就是什么也不做!相当于C中的”;“!

好了,就写到这里了!

谢谢浏览!

转载于:https://www.cnblogs.com/sky-heaven/p/5068840.html

相关文章:

  • 用户,组和权限零碎知识
  • Java 与 PHP 的MD5加密方法
  • 关闭webstorm(2017.3.5)的分号检测
  • vue 之 .sync 修饰符
  • 75、STP环路防护UDLD、Loop Guard简介
  • TensorFlow提示AVX2...
  • 【转】Android自动化测试(UiAutomator)简要介绍
  • 进程 守护
  • sharepoint2013用场管理员进行文档库的爬网提示没有权限,拒绝的解决方法
  • Android中callback(接口回调)机制
  • 模式探索仍有心结,呷哺呷哺应该投入智能科技的怀抱?
  • HTTP请求中POST与GET的差别
  • DESTOON7.0农产品B2B供应求购交易平台源码
  • Python学习笔记
  • 基于DevExpress的Winform程序安装包的制作
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【5+】跨webview多页面 触发事件(二)
  • Android交互
  • angular组件开发
  • EOS是什么
  • es6
  • Golang-长连接-状态推送
  • golang中接口赋值与方法集
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • isset在php5.6-和php7.0+的一些差异
  • java8 Stream Pipelines 浅析
  • Java反射-动态类加载和重新加载
  • LeetCode29.两数相除 JavaScript
  • Linux下的乱码问题
  • maven工程打包jar以及java jar命令的classpath使用
  • Python学习笔记 字符串拼接
  • socket.io+express实现聊天室的思考(三)
  • SQLServer之创建显式事务
  • Vue2.0 实现互斥
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 猴子数据域名防封接口降低小说被封的风险
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用parted解决大于2T的磁盘分区
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 学习ES6 变量的解构赋值
  • 一些css基础学习笔记
  • 优化 Vue 项目编译文件大小
  • 原生js练习题---第五课
  • 在Unity中实现一个简单的消息管理器
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • mysql面试题分组并合并列
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (2)Java 简介
  • (2022 CVPR) Unbiased Teacher v2
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (done) 两个矩阵 “相似” 是什么意思?