14 shell脚本--006交互输入与for语句

1、交互输入

  read  

 

    read 命令同时可以定义多个变量值,而输入的内容默认以空格为分隔符,将值输入到对应的变量中;

    如果默认值过少,最后所有的值都会被赋予给最后一个变量;

    如果默认值过多,多余的变量则为空值;     

    >read a b c

      >aa bb cc 

    read如何输入:

      (1)echo "请输入一个目录:"

        我们需要echo -n取消换行符号

       (2)echo "请输入一个目录:"; read  +变量

          请输入一个目录:/etc/

    常用参数:

      -p

        read - p  "请输入一个目录:" + 变量

      -t

        read  -t 5 -p "请输入一个目录:" + 变量

    脚本默认值

        

 

2、for语句循环

  for语句的应用场景:

    有一个功能,这个功能需要循环执行,只是执行的对象不同;

  for语句格式:

    for 变量 in 列表;do

      循环体

    done  

练习:九九乘法表:

(1)方法一:

(2)方法二:

 

 

 

  echo -e 

    -e:使echo命令,能够识别特殊字符

    \r : 回车不换行

    \n: 换行符

    \t :制表符tab = 4个空格

    unix2dos  \r\n  -->\n

    dos2unix

 

  case语句:

    case的语法格式:

      case 变量 in

      PATTEN1)

        代码块1

          ;;     

      PATTEN2)

        代码块2

          ;;

      *)

 

  列表的生成方式:

    1、直接给出字符串列表

      for i in a b c d e;do 

        循环体

      done

    2、整数列表  

      a 、{start ... end}    //{1...1}是不行的 = python   range{1,100}

      b 、seq命令引用   $seq[start ... end]

        步长  python  range{1,100,2}

练习:ping有多少台电脑在线

           

                

  3、返回列表的命令

    $(command)

    应用场景:ls /var/log

  4、glob机制------文件名通配符的机制

      $(ls /var/log)

      /var/log/*

     test命令总结:

        1、test的命令的option的-a -o 只在命令中使用;

            

   5、变量引用---传参

      $@  $*  将参数作为for循环

      $0  ----和awk的不一样

        bash中的$0   代表运行的脚本文件;

        awk中的$0    代表整行内容;   ------awk按行执行

      

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

  扩展:for语句的另外一种写法:

      基于c语言的for语言写法:

        for 变量 in 列表;do

            循环体

        done  

        优点:不易进入死循环

      

      for((i=0;i<10;i++))

      for((初始条件;条件判断语句;值变化语句))  

        循环体

      done

 

    

    while语句的格式:

      i = 0 (因为机器识别数字是从0开始的)

      初始值

      while 条件 ;do

        循环体

        let i++

      done        

 

转载于:https://www.cnblogs.com/wx00/p/11356936.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值