Linux Shell脚本编程while语句案例
1,每隔3秒,打印一次系统负载
- #!/bin/bash
- while true
- do
- uptime
- sleep
- done
2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化
- ghostwu@dev:~/linux/shell/flow_control$ sh while.sh &
- []
- #!/bin/bash
- while true
- do
- uptime >> log.txt
- sleep
- done
- ghostwu@dev:~/linux/shell/flow_control$ tail -f log.txt
- :: up min, user, load average: 0.33, 0.35, 0.32
- :: up min, user, load average: 0.33, 0.35, 0.32
- :: up min, user, load average: 0.31, 0.34,
- ...
3,进程调度相关命令
fg: 把当前脚本或者任务放到前台执行。如果指定某个任务:fg 任务编号。 任务编号通过jobs查询
bg: 把任务放到后台执行
jobs:查看当前执行的脚本或者任务
ctrl+z:暂停执行当前的脚本
sh while1.sh & : 加上&,表示后台执行脚本
- ghostwu@dev:~/linux/shell/flow_control$ fg
- sh while.sh
- ^Z
- []+ Stopped sh while.sh
- ghostwu@dev:~/linux/shell/flow_control$ jobs
- []+ Stopped sh while.sh
- ghostwu@dev:~/linux/shell/flow_control$ bg
- []+ sh while.sh &
- ghostwu@dev:~/linux/shell/flow_control$ jobs
- []+ Running sh while.sh &
- ghostwu@dev:~/linux/shell/flow_control$ sh while.sh &
- []
- ghostwu@dev:~/linux/shell/flow_control$ jobs
- []- Running sh while.sh &
- []+ Running sh while.sh &
- ghostwu@dev:~/linux/shell/flow_control$ fg
- sh while.sh
- ^Z
- []+ Stopped sh while.sh
- ghostwu@dev:~/linux/shell/flow_control$ bg
- []+ sh while.sh &
- ghostwu@dev:~/linux/shell/flow_control$ jobs
- []- Running sh while.sh &
- []+ Running sh while.sh &
4,用while循环打印0, 1, 2, 3, 4
- #!/bin/bash
- i=
- while [ $i -lt ]
- do
- echo $i
- (( i++ ))
- done
两个中括号也可以
- #!/bin/bash
- i=
- while [[ $i -lt ]]
- do
- echo $i
- (( i++ ))
- done
还可以用计算表达式
- #!/bin/bash
- i=
- while (( i < ))
- do
- echo $i
- (( i++ ))
- done
5,计算1....100的和
- ghostwu@dev:~/linux/shell/flow_control$ sh sum.sh
- ++..+=
- ghostwu@dev:~/linux/shell/flow_control$ cat sum.sh
- #!/bin/bash
- i=
- sum=
- while (( i <= ))
- do
- (( sum = sum + i ))
- (( i++ ))
- done
- echo "1+2+3..+100="${sum}
6,猜数字
- #!/usr/bin/bash
- sum=$((RANDOM%))
- echo "需要你猜的数是:"$sum
- sleep
- echo "请输入1-50之间的数,开始猜吧!"
- count=
- function type_num(){
- read -p "请输入一个数吧:" n
- expr $n + &>/dev/null
- if [ $? -ne ]; then
- echo "请输入一个数字"
- type_num
- fi
- }
- function guess(){
- (( count++ ))
- if [ $n -eq $sum ]; then
- echo "你猜中了,你的次数是:"${count}
- if [ $count -lt ]; then
- echo "你太厉害了"
- elif [ $count -ge -a $count -lt ]; then
- echo "还是不错的,加油"
- else
- echo "你有点水啊"
- fi
- exit
- elif [ $n -gt $sum ]; then
- echo "猜大了"
- type_num
- else
- echo "猜小了"
- type_num
- fi
- }
- function main(){
- type_num
- while true
- do
- guess
- done
- }
- main
Linux Shell脚本编程while语句案例的更多相关文章
- Linux Shell脚本编程while语句
Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo uptime sleep 3done 2,把监控结果保存 ...
- Linux shell脚本编程if语句的使用方法(条件判断)
if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unex ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- Linux Shell脚本编程--Linux特殊符号大全
Linux Shell脚本编程--Linux特殊符号大全 linux_shell 特殊符号的介绍 2011
- Linux Shell脚本编程-基础1
概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础 ...
- 【学习】Linux Shell脚本编程
1.脚本的组成和执行 Linux shell脚本的结构并不复杂,其主要由变量.内部命令以及shell的语法结构和一些函数.其他命令行的程序等组成,以下是一个简单的shell脚本. #!/bin/bas ...
- Linux shell脚本编程基础之练习篇
shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash ] then echo "请输入一个参数& ...
随机推荐
- git diff 理解
0. 理解 git diff 返回信息 1. 命令 $ git diff README.md 2. 返回信息,注解 diff --git a/README.md b/README.md ## 1. 表 ...
- RabbitMQ 常用操作
RabbitMQ简介 1.首先安装erlang rpm -Uvh https://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos ...
- Unity全面的面试题(包含答案)
一:什么是协同程序? 在主线程运行的同时开启另一段逻辑处理,来协助当前程序的执行,协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足. 二:Unity3D中 ...
- confluence与jira账号对接、查看到期时间及问题总结
前面介绍了对于confluence和jira的破解版安装记录,下面简单记录下confluence和jira结合配置:安装顺序:先安装Jira,然后安装Confluence,在Confluence安装过 ...
- workman的学习总结
我们知道php主要是用来做web应用的,而且平时使用的都是都是和其他的web服务器来结合使用,比如和apache,nginx和apache的时候,是作为apache的一个动态模块来加载,和nginx的 ...
- Windows.UI.Cred.dll损坏导致不能设置 PIN 密码
心血来潮,重装系统. 然后发现不能设置 PIN,UWP界面在输完两个PIN后直接卡死(第一次设置的时候不需要输入第一行的PIN) google无果,打开系统日志,发现 上网下载一个对应版本的Windo ...
- JavaScript中子类调用父类方法的实现
一.前言 最近在项目中,前端框架使用JavaScript面向对象编程,遇到了诸多问题,其中最典型的问题就是子类调用父类(super class)同名方法,也就是如C#中子类中调用父类函数base.** ...
- javascript 最全面的数组操作合集
一.数组添加.删除.替换.截取操作 1.arr.unshift(1) 在数组头部添加一个元素 1 (直接改变原数组,返回值为添加元素后数组的length) 2.arr.shift() 在数组的头部删除 ...
- vue elementui 引入第三方icon iconfront
elementui框架自带icon在开发大型前端应用时显得捉襟见肘.淘宝开源的iconfront的图标库上有很多优秀的icon图标.elementui支持整合iconfront到应用中,步骤如下: 首 ...
- python基础学习笔记 - 备忘
基础中的基础 Python标识符 命名规则: Python标识符区分大小写. 可以包括英文.数字以及下划线,但不能以数字开头. 以下划线开头的标识符是有特殊意义的: a) 以单下划线开 ...