一、交互输入

1、命令用法:read a b c   -> aa bb cc

read命令同时可以定义多个变量值;而输入的内容默认以空格为分隔符,将值输入到对应的变量中;如果默认值输入过多,最后所有的值都会被赋予给最后一个变量;如果输入的值少于变量数,多余的变量则为空值

2、常用参数:

-p   read -p “请输入一个值:” 变量名 ===  echo -n “请输入一个值:” ; read 变量名

-t   定义超时时间   read -t 5 -p “请输入一个值:” 变量名

二、while语句

1、while语句语法格式

定义初始值
while 条件判断;do
循环体
值变化语句
done

练习

i=
while (( $i<= ));do
echo $i
let i++
done

2、其他两种特殊语句格式

第一种:

while read 变量;do
循环体
done <</path/filename

第二种.死循环:

while true;do
循环体
done

break  打断循环

continue  打断本次循环,开始下次循环

sleep  延时循环

三、until语句

与while用法相同

与while的区别是,只有判断条件为False时候,才会进入循环

四、for语句循环

1、for语句的应用场景:

某功能需要循环执行,只是执行对象不同,(数据对象必须是同类)

2、for语句格式:

for 变量 in 条件列表;do
循环体
done

3、列表的生成方式

a) 直接给出字符串列表

for i in a b c d e;do
循环体
done

b) 整数列表

{start .. end} :    例:{..}
seq :命令引用 $(seq [start [步长]] end) 例:seq 30输出20

c) 返回列表命令

  $(COMMAND)

  应用场景例:判断/var/log的所有文件,以.log结尾的文件统计处理

#!/bin/bash
#
declare -i sum=
for i in $(ls /var/log/);do
if [[ $i = "*.log" ]];then
echo $i
let sum++
fi
done
echo "统计.log结尾的文件有:$sum"

d) glob机制:---- 文件通配符的机制

e) 变量引用:----传参

  $@  $* 将参数作为for循环的列表

  $0 代表运行的脚本文件  awk中$0代表整行内容

 需要多个次的时候用$@ ,需要一个词的时候用$*

4、扩展:for语句的另一种写法(基于C语言的写法)

for((i=;i<;i++));do
循环体
done

Linux--shell交互输入与循环语句--06的更多相关文章

  1. 交互输入与for语句

    交互输入与for语句 1.   交互输入 read命令可以同时定义多个变量值:输入的内容默认以空格为分隔符,将值输入到对应的变量中:read尽量避免交互 如果默认值过多,最后所有的值会被赋予给最有一个 ...

  2. shell脚本中select循环语句用法

    shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...

  3. linux shell提示输入 输错字符解决方法

    linux shell提示输入 输错字符解决方法ctrl+回车 删除单个字符ctrl+u删除光标前全部字符ctrl+k删除光标后全部字符

  4. Python基础-week01 Python安装/变量/输入/及循环语句使用

      一.Python介绍 (1).目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,You ...

  5. Shell学习(三)——Shell条件控制和循环语句

    参考博客: [1]Shell脚本的条件控制和循环语句 一.条件控制语句 1.if语句 1.1语法格式: if [ expression ] then Statement(s) to be execut ...

  6. shell编程中的循环语句

    while循环直接从文件中读取 while read line do command done < filename until循环 until 条件 do command done for循环 ...

  7. Shell脚本之for循环语句的应用

    在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同.这时候可以使用for循环语句,针对不同的取值重复执行相同的命令序列. for循环语句的语法结构: ...

  8. linux shell中的条件判断语句

    http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...

  9. Linux Shell脚本编程case条件语句

    1,判断一个数字是否则在1,2,3之中. #!/bin/bash read -p "pls input a number:" n case "$n" in ) ...

随机推荐

  1. Bellman-ford算法与SPFA算法思想详解及判负权环(负权回路)

    我们先看一下负权环为什么这么特殊:在一个图中,只要一个多边结构不是负权环,那么重复经过此结构时就会导致代价不断增大.在多边结构中唯有负权环会导致重复经过时代价不断减小,故在一些最短路径算法中可能会凭借 ...

  2. linux-解决添加的网卡无法识别的问题

    添加网卡之后,网卡无法被正确的识别和使用排错方法 查看/etc/udev/rules.d/70-persistent-net.rules的内容,该文件中可以查看到新添加的网卡的MAC地址 修改/etc ...

  3. Vertical Center TextView . 竖直居中的UITextView

    @interface VerticalCenterTextView : UITextView @end @implementation VerticalCenterTextView - (void) ...

  4. vue2.0 之 douban (二)创建自定义组件tabbar

    1.大体布局 这个组件分为两部分:第一个是组件的外层容器,第二个是组件的子容器item,子组件里面又分为图片和文字组合.子组件有2个状态,一个默认灰色的状态,一个选中状态,我们来实现一下这个组件的布局 ...

  5. UITextView输入中文时限制字数

    最近因为项目中输入用户简称时限制长度,被测试部多次提交问题,最终将解决方法分享给大家. 刚开始用最简单的方法,在textView的代理方法里面做处理 - (void)textViewDidChange ...

  6. linux中的"空白字符"

    [参考这个c语言中的空白字符文章] (http://blog.csdn.net/boyinnju/article/details/6877087) 所谓: linux中的"空白字符" ...

  7. 【GIS数据处理】 利用空间关系建立线CAD数据和属性表关联

    这两天遇到一个不太容易解决的问题. 某燃气公司想自己对自建管线进行测绘便于数字化管理,在接受了简单的RTK测量培训和Cass成图培训后,就自己着手开干. 最近数据整理的差不多了,就提交给我请我帮忙核查 ...

  8. Struts2 Convention Plugin ( struts2 零配置 )

    Struts2 Convention Plugin ( struts2 零配置 ) convention-plugin 可以用来实现 struts2 的零配置.零配置的意思并不是说没有配置,而是通过约 ...

  9. Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)

    我觉得叫 "皮肤" 不如叫 "样式" 或 "风格", 因为它可以包含和动作关联的动画. 在 FMX 下, 控件可以任意绘制, 各部件个性化的 ...

  10. python--url编码/解码

    from urllib import parse 1.url编码:#定义一个url请求url='http://www.baidu.com?query=python基础教程' url_str = par ...