zoukankan      html  css  js  c++  java
  • shell脚本8-15

    交互输入与for语句(8-15)

    交互输入

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

    2、如果默认是过少,多余的变量则为空值。

    3、实例 read a b c   aa bb cc

    4、Read如何输入:echo “请输入一个目录”(我们需要echo -n取消换行符号)

                     Echo “请输入人一个目录:”read变量(请输入一个目录/etc)

    5、常用参数:-p  例:read -p “请输入一个目录”变量

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

    6、脚本默认值:

    练习:

    输入一个设备文件,输出这个设备文件的基本信息。

    #!/bin/bash
    #输入一个设备文件,输出这个设备文件的基本信息。
    
    read -t 5 -p "请输入一个设备文件名:" devname
    [ -z $devname ] && devname=`fdisk -l`
    if [ -b /dev/$devname ];then
            fdisk -l /dev/$devname
            exit 0
    else
            echo "$devname不是设备文件"
            echo "Usage:'请输入一个设备文件,如sda'"
    fi

    执行结果:

    7、case语句的语法格式:

    case  变量  in  

    PATTEN1)

      代码块1

      ;;

    PATTEN2)

      代码块2

      ;;

    *)

      代码库

    esac

    For语句循环

    1、应用场景:有一个功能,该功能需要循环执行,只是循环的对象不同,但是循环对象是同类数据

    2、for语句格式:

    for 变量 in 列表;do

       循环体

    Done

    3、echo命令参数:-e:使echo命令能够识别特殊字符

               :回车不换行

               :换行且光标移至行首

               :制表符(tab键)

             -n:不换行输出

    4、列表的生成方式:1、直接给出字符列表(例:for i in a b c d e f;do)

              2、整数列表  a{start....end}   

                     b seq命令引用$(seq [start[step]] end)

                     (seq最常用功能的就是步长)

              3、返回列表的命令(例:$(命令))        

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

              5、变量应用----传参:$@ $*将参数作为for循环的列表

                   $0和awk不一样,bash中的$0代表运行的脚本文件

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

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

    5、vim常见用法:命令模式下dd为剪切,yy为复制,p为粘贴

    6、test命令总结:1、test的命令的参数-a、-o只在命令中使用;注:做字符匹配时不支持正则表达式和通配符

             2、test test==[[]],在连接两个test的命令的时候,不能使用命令内部的参数-a、-o,一般使用|| && == != >= <=

     

     

  • 相关阅读:
    inner join 与 left join 之间的区别
    从group by 展开去
    distinct的用法
    with as的用法
    substr函数的用法
    Oracle的dual表是个什么东东
    Sql函数笔记一、case when
    在本地没有安装Oracle的情况下,使用plsql远程连接数据库
    【Ubuntu】执行定时任务(cron)
    【系统】Ubuntu和win7双系统更改系统引导菜单
  • 原文地址:https://www.cnblogs.com/cqyyyyy/p/11360129.html
Copyright © 2011-2022 走看看