zoukankan      html  css  js  c++  java
  • 5.shell的基本输入 read

    目录

    一、shell的基本输入---read 命令

    • 当脚本执行到read时,会停住(从running变成sleep状态),等待用户的输入(键盘输入)。
    • 键盘输入完,输入回车后,表示键盘输入结束

    read 命令的选项

    -p 打印信息

    -t 限定时间,在多少时间内完成输入,超时直接退出

    -s 不回显(比如:输入密码时不显示)

    -n 输入字符的个数

    例1,运行到read会等待用户输入,这里没有转义字符,不用-e也可以

    #!/bin/bash
    
    clear #   清屏
    echo -n -e "Login: "
    read
    echo -n -e "PassWord: "
    read

    运行结果:

    MBC02FV3MZMD6P:J_shell j$ bash read_demo.sh 
    
    Login: Tom
    PassWord: 123456

    例2:添加变量存储用户输入的内容

    用户输入的内容会存在内存中,但是如何获取到用户输入的内容呢?---添加变量,标记内存的位置

    #!/bin/bash
      
    clear
    echo -n  "Login: "
    read user_name
    echo -n  "PassWord: "
    read pwd
    echo "Login: $user_name, Password: $pwd"

    运行结果: 可以提取到用户输入的内容了

    MBC02FV3MZMD6P:J_shell j$ bash read_demo.sh 
    Login: zhangsan
    PassWord: 123456
    Login: zhangsan, Password: 123456
    MBC02FV3MZMD6P:J_shell j$ 

    例3: 输入密码时不回显 -s

    #!/bin/bash
      
    clear
    echo -n  "Login: "
    read user_name
    echo -n  "PassWord: "
    read -s pwd  #不回显密码
    echo
    echo "Login: $user_name, Password: $pwd"

    执行结果:

    MBC02FV3MZMD6P:J_shell j$ bash read_demo.sh 
    Login: hangsan
    PassWord: 
    Login: hangsan, Password: 11111

    例4: 限定输入时间 -t

    #!/bin/bash
      
    clear
    echo -n  "Login: "
    read user_name
    echo -n "PassWord: "
    read -s -t8 pwd
    echo
    echo "Login: $user_name, Password: $pwd"

    执行结果:超过8秒没有输入密码,自动超时退出

    MBC02FV3MZMD6P:J_shell j$ bash read_demo.sh 
    Login: zhangsan
    PassWord: 
    Login: zhangsan, Password: 
    MBC02FV3MZMD6P:J_shell j$ 

    例5:限制输入字符的个数 -n

    #!/bin/bash
      
    clear
    echo -n  "Login: "
    read user_name
    echo -n  "PassWord: "
    read -s  -n7 pwd
    echo
    echo "Login: $user_name, Password: $pwd"

    执行结果:只能获取7位,一直输密码,到7位会自动退出

    MBC02FV3MZMD6P:J_shell j$ bash read_demo.sh 
    Login: zhangsan
    PassWord: 
    Login: zhangsan, Password: 9999999

    例6 read -p打印输出

    上面的例子用read简化输出

    #!/bin/bash
      
    clear
    #echo -n  "Login: "
    #read user_name
    #echo -n  "PassWord: "
    #read -s -n7 pwd
    
    read -p "Login: " user_name
    read -p "Password: " pwd
    echo
    echo "Login: $user_name, Password: $pwd"

    运行结果:

    MBC02FV3MZMD6P:J_shell j$ bash read_demo.sh 
    Login: zhangsan
    Password: 123456
    
    Login: zhangsan, Password: 123456
  • 相关阅读:
    MT【126】点对个数两题之二【图论】
    MT【125】四点共圆
    MT【124】利用柯西求最值
    MT【123】利用第一次的技巧
    MT【122】一个重要的不平凡的无穷级数
    MT【121】耐克数列的估计
    MT【120】保三角函数
    MT【119】关于恒成立的一道压轴题
    计算机视觉目标检测的框架与过程
    使用模板类导致error LNK2019: 无法解析的外部符号
  • 原文地址:https://www.cnblogs.com/ananmy/p/15631391.html
Copyright © 2011-2022 走看看