shell-code-5-流程控制
××××××××××××××××××××IF-ELSE××××××××××××××××××××××××××××××
a=1
b=2
if [ $a == $b ]
then
echo a等于b
elif [ $a -gt $b ]; then
echo a大于b
elif [ $a -lt $b ]
then
echo a小于b
else
echo error
fi
#if-else常和test一起使用。
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
echo $num1 $num2
echo '两个数字相等!'
else
echo '两个数字不相等!'
fi
echo $[2*3]
# 写成一行if condition; then command1; fi
××××××××××××××××××××FOR××××××××××××××××××××××××××××××
# for var in item1 item2 ... itemN; do command1; command2… done;
# in列表可以包含替换、字符串和文件名。
# in列表是可选的,如果没有,for循环使用命令行的位置参数。
for i in 1 2 3
do
echo $i
done
××××××××××××××××××××WHILE××××××××××××××××××××××××××××
i=0
# 注意双层括号,空格
while (( $i<=5 ))
do
echo $i
# Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量
let "i++"
done
# 使用read从键盘读入,存到变量pxy。不需要提前声明。
while read pxy
do
echo "是的!$pxy 是一部好电影"
done
# 无限循环
while :# while true
do
command
done
for (( ; ; ))
××××××××××××××××××××UNTIL××××××××××××××××××××××××××××
××××××××××××××××××××CASE××××××××××××××××××××××××××××
单行的命令可以和1)写在同一行。
××××××××××××××××××××jump out××××××××××××××××××××××××××××
# break 和continue类似c语言用法
while :
do
# -n means no newline
echo -n "输入 1 到 5 之间的数字:"
read aNum
case $aNum in
# attention!
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
# jump out of while
break
;;
esac
done
echo "GAME OVER"
shell-code-5-流程控制的更多相关文章
- Shell命令和流程控制
Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...
- shell脚本之流程控制
shell脚本之流程控制 shell脚本之流程控制 条件语句 条件判断 循环语句for,while,until for循环 while循环 until循环 循环控制语句continue 循环控制语 ...
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!
http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...
- Shell脚本学习 - 流程控制和函数
继续Shell的学习.上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while) 流程控制 if else 流程控制不可为空,如果else没有语句执行,就不 ...
- shell运算符与流程控制-2
1.shell运算符 1.1.算数运算符 原生的bash不支持算数运算,可以通过其它方式实现例如expr. `expr a + b` #a b为数字,和运算符之间要有空格 #``不是单引号,为键盘上E ...
- Shell test命令/流程控制
Shell test命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数,说明 -eq等于则为真 -ne不等于则为真 -gt 大于则 ...
- Shell命令和流程控制[linux常用命令的使用]
在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ...
- shell脚本 3 流程控制
shell流程控制 流程控制是改变程序运行顺序的指令.linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介 ...
- linux下的Shell编程(3)shell里的流程控制
if 语句 if 表达式如果条件命令组为真,则执行 then 后的部分.标准形式: if 判断命令,可以有很多个,真假取最后的返回值 then 如果前述为真做什么 [ # 方括号代表可选,别真打进去了 ...
- Shell教程 之流程控制
1. if else 1.1 if if语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if ...
随机推荐
- 20180401 lambda表达式
##lambda表达式:替代简单函数用 (反而增加了代码阅读难度,不建议使用) def fg(a1,a2): return a1+a2 qq = lambda a1,a2 : a1+a2 a1 = 1 ...
- opencart 安装
1:安装 php5 apache2 mysql 2:下载opencart wget https://github.com/opencart/opencart/archive/master.zi ...
- System.TypeInitializationException: 'The type initializer for 'MySql.Data.MySqlClient.Replication.ReplicationManager' threw an exception.'
下午在调试的时候报错数据库连接就报错我就很纳闷后面用原来的代码写发现还是报错 System.TypeInitializationException: 'The type initializer for ...
- java错误笔记
错误1. Description Resource Path Location Type The superclass "javax.servlet.http.HttpSer ...
- ubuntu关闭cups服务(631端口)
本人使用的ubuntu10.10每次开机时使用nmap扫描127.0.0.1的时候总是能发现一个631端口开启,在/etc/services找到631端口是网络打印机服务,但对于我一个普通用户来说这根 ...
- MyEclipse中把java项目打包——含有第三方jar包【转】
也适用于eclipse导出jar. 在将项目打包为jar包时一直出现“ClassNotDefFound”错误,百度了很多解决办法都没有解决.最终找到一个很好的解决办法. 1.打包步骤 (1)右键单击j ...
- 实训随笔:EL表达式JSON应用
由于之前在学校写的jsp页面都是夹杂着java代码的,所以之前写了个jsp,满满的<%%>和java代码,老师说那样太不美观了啊!!!要全部用EL表达式替代了.本人还是太笨了,弄了一上午才 ...
- COGS 788. 昵称
788. 昵称 ★☆ 输入文件:nickname.in 输出文件:nickname.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] ZSUQ送信者与腾讯QQ相似 ...
- ubuntu 16.0 利用ant编译 hadoop-eclipse-plugins2.6.0
折腾了两天,抱着不放弃的精神,我终于编译出我自己所需的hadoop中在eclipse中的插件 在网上下载的可能因为版本不一致,在编译的时候出现各种各样的问题,包括你的eclipse版本和hadoop版 ...
- SAP云平台,Netweaver,Kubernetes和C4C的用户和角色关系
SAP云平台 Netweaver 同SAP云平台一样,在事务码PFCG里维护角色: 然后在事务码SU01里将多个角色分配给用户: Kubernetes Kubernetes在1.3版本中发布了alph ...