read与for语句循环

交互输入与for语句
  1.交互输入
               read python中用input()函数,进行输入;
     read 命令同时可以定义多个变量值;而输入的内容默认以 空格符为分隔符,将值输入到对应的变量中;

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

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

  示例:

    read a b c

    aa bb cc   

  read如何输入:

      echo“请输入一个目录:"
          我们需要echo-n取消换行符号  

      echo°请输入一个目录:";read变量

      请输入一个目录:etc

      常用参数

          -p

          read-p“请输入一个目录:"变是  

          -t 定义超时时间    

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

      脚本默认值

          [-n $filename] && filename="zhangjie"

            输入内容-----------------------------------------

          |                                                                |

                               输入是否正确------------                            没有输入-----------------------

          |                                 |                              |                                       |
                                 正确                            不正确,给提示       提示必须输入                给出默认值

2、for语句循环

  for语句的应用场景:

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

  for语句格式:

    for 变量 in 列表;do

      循环体

    done  

  echo -e 

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

     : 回车不换行

     : 换行符

     :制表符tab = 4个空格

    unix2dos    -->

    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}

   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/azuressy/p/11356885.html