zoukankan      html  css  js  c++  java
  • shell 脚本对从键盘输入的字符进行校验

    当编写shell脚本时,总是不可避免的要与外界进行交互。

    通过 read -p "请输入:" input 指令,可以实现由键盘到脚本的交互。

    但是由输入法进行输入的时候,不可避免会产生一些特殊字符,如果一起输入脚本,会造成脚本的不稳定,因此需要对从键盘输入

    的字符进行校验。

    path=`pwd`
    while true
        do
          echo " 请从键盘输入名称"
          echo " 名称只能由中文、英文、数字组成"
          read -p " name: " name
    
          if [ -e ${path}/name.txt ]; then
            rm -rf ${path}/name.txt
          fi
    
          echo "$name" >> ${path2}/name.txt
    
    #    通过perl 去除中文
          perl -pi -e 's/[x80-xff]//g' ${path}/name.txt
    
    #    通过sed 去除英文和数字
          filter_input=`cat ${path}/name.txt | sed 's/[0-9a-zA-Z]//g'`
    
          if [ ! -z $filter_input ]; then
            echo " 您输入的name: $name  不符合格式要求,请重新输入"
          else
            break
          fi
        done
    

      

    尝试通过sed识别中文失败后,通过perl 来识别中文。

    perl中汉字采用gbk编码,可以正常进行识别。

  • 相关阅读:
    4-11
    4-10
    4-9
    4-7
    4-8
    4-6
    4-4
    4-5
    4-3
    4-2
  • 原文地址:https://www.cnblogs.com/pass-ion/p/14500697.html
Copyright © 2011-2022 走看看