shell 脚本之if、for、while语句
(1)if语句
root@ubuntu:/mnt/shared/shellbox/shellif# cat shellif.sh
#!/bin/bash #推断字符串
if [ "$1" = "hello" ]
then
echo "\$1=$1"
fi #推断数字,if()方式仅仅能在bash下用,在sh下不行
if (( $1 > 20 ))
then
echo "\$1: $1 > 20"
elif (( $1 == 20 ))
then
echo "\$1 == 20"
elif (( $1 < 20 ))
then
echo "\$1 < 20"
fi #方括号推断语句
if [ $1 -lt 20 ]
then
echo "\$1 < 20"
elif [ $1 -ge 20 -a $1 -le 30 ]
then
echo "\$1 >= 20 && \$1 <= 30 "
elif [ $1 -gt 30 ]
then
echo "\$1 > 30"
fi
运行结果:
root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 10
$1 < 20
$1 < 20
root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 20
$1 == 20
$1 >= 20 && $1 <= 30
root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 30
$1: 30 > 20
$1 >= 20 && $1 <= 30
root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 40
$1: 40 > 20
$1 > 30
(2)for语句
root@ubuntu:/mnt/shared/shellbox/shellfor# cat shellfor.sh
#!/bin/bash for i in $*
do
echo $i
done for char in {a..c}
do
echo $char
done for int in {1..3}
do
echo $int
done
运行结果:
root@ubuntu:/mnt/shared/shellbox/shellfor# ./shellfor.sh
a
b
c
1
2
3
(3)while语句:
root@ubuntu:/mnt/shared/shellbox/shellwhile# cat shellwhile.sh
#!/bin/bash #注意: (( ))这样的方式仅仅能在bash中使用,而不能在sh中使用
i=0
while (( i < $1 ))
do
echo "i=$i"
let i+=1
done #赋值时"="前后不能有空格
num=0
while [[ $num != $1 ]]
do
echo "num=$num, num != \$1"
let num+=1
done while true
do
echo "here in while true ..."
sleep 2
done
运行结果:
root@ubuntu:/mnt/shared/shellbox/shellwhile# ./shellwhile.sh 5
i=0
i=1
i=2
i=3
i=4
num=0, num != $1
num=1, num != $1
num=2, num != $1
num=3, num != $1
num=4, num != $1
here in while true ...
here in while true ...
shell 脚本之if、for、while语句的更多相关文章
- shell脚本中的if条件语句介绍和使用案例
#前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句. #简介 if条件语句,简单来说就是:如果,那么.有if单 ...
- 书写优雅的shell脚本(一)- if语句
使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shel ...
- shell脚本中的case条件语句介绍和使用案例
#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,ca ...
- 关于shell脚本——条件测试、if语句、case语句
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 ...
- shell脚本之while for if 语句和编写计划任务
关于while循环: while do done 例如 1.关于内存的实时操作: (1).vim a.sh (2).输入以下while循环 (3)../a.sh执行脚本 2.自加一的操作: (1).v ...
- shell脚本编程基础之case语句
基础简介 脚本编程分为: 面向过程 选择结构:if语句,单分支.双分支.多分支:case语句 控制结构:顺序结构(默认) 循环结构:for.while.until 面向对象 case语句结构 case ...
- Linux就该这么学--Shell脚本条件语句(一)
1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- linux 下RMAN备份shell脚本
RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉.对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选. ...
- linux初学 :简易的shell脚本
什么是shell Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的 Shell有两种执行命令的方式: 交互式(Interacti ...
随机推荐
- asp.net笔试题
1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...
- Opencv2系列学习笔记8(图像滤波)
一:概念: 滤波是信号处理机图像处理中的一个基本操作.滤波去除图像中的噪声,提取感兴趣的特征,允许图像重采样. 图像中的频域和空域:空间域指用图像的灰度值来描述一幅图像:而频域指用图像灰度值的变化来描 ...
- 采用管道处理HTTP请求
采用管道处理HTTP请求 之所以称ASP.NET Core是一个Web开发平台,源于它具有一个极具扩展性的请求处理管道,我们可以通过这个管道的定制来满足各种场景下的HTTP处理需求.ASP. NET ...
- 七个你无法忽视的Git使用技巧(转)
与其他技术相比,Git应该拯救了更多开发人员的饭碗.只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以挽回那些你深夜里迷迷糊糊犯下的错误. 尽管这么说,Git的命 ...
- rsyslog+LogAnalyzer 日志收集
Linux 之rsyslog+LogAnalyzer 日志收集系统 一.LogAnalyzer介绍 LogAnalyzer工具提供了一个易于使用,功能强大的前端,用于搜索,查看和分析网络活动数据,包括 ...
- linux下修改hostid
linux下修改hostid 网上有很多版本,总结了这几点. 1> 一个以16进制显示的int字符串: 2> 配置文件: /etc/hostid; 如果有值,输出, 结束. 3> 从 ...
- 怎样用Java编写一段代码引发内存泄露
通过下面步骤能够非常easy产生内存泄露(程序代码不能訪问到某些对象,可是它们仍然保存在内存中): 应用程序创建一个长时间执行的线程(或者使用线程池,会更快地发生内存泄露). 线程通过某个类载入器(能 ...
- 基于Linux根据僵尸网络病毒平台《比尔盖茨》
感觉分析的非常好,所以决定翻译出来,希望和大家多多交流O(∩_∩)O~ 转载请注明出处:http://blog.csdn.net/u010484477 O(∩_∩)O谢谢 keyword:病毒 ...
- ubuntu14.04中virtualbox虚拟机无法启动
近期升级了ubuntu14.04,还是按之前的方法安装了virtualbox(guest系统仍然使用升级之前的镜像文件),可是在启动guest系统时,总是报错,提演示样例如以下: Kernel dri ...
- Delaunay三角剖分算法
在图像处理中,经常会使用到三角剖分算法: 具体定义及其算法可以参考:http://baike.so.com/doc/5447649.html 下面放出来代码: Delaunay接口为存C: 测试是使用 ...