• 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
  • 相关阅读:
    org.springframework.transaction.CannotCreateTransactionException Could not open
    org.springframework.web.util.NestedServletException Handler processing failed; n
    SSM 后台封装的有值, 到前台打印的时候没有值
    javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException PK
    a 链接点击下载
    form图片上传遇到错误
    forever 启动nodejs
    nodejs 新建项目
    nodejs 安装
    nodejs 爬虫模板 map&array 数据模型
  • 原文地址:https://www.cnblogs.com/ananmy/p/15631391.html
Copyright © 2020-2023  润新知