侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

第4章 处理用户输入与显示数据------------(默读与文件读取)

2023-11-22 星期三 / 0 评论 / 0 点赞 / 55 阅读 / 2365 字

4.3.3 默读与文件读取 有时候需要脚本用户进行输入,但不希望输入的数据显示在显示器上。-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是read命令将文本颜色设置

4.3.3 默读与文件读取

         有时候需要脚本用户进行输入,但不希望输入的数据显示在显示器上。-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是read命令将文本颜色设置成了与背景相同的颜色)

         read命令还可以读取Linux相同上存储在文件中的数据。每调用一次read命令,都会读取文件中的一行文本。当文件中没有可读的行时,read命令将以非零状态退出。读取文件的关键是如何将文件中的数据传送给read命令。最常用的方法是对文件使用cat命令并通过管道将结果直接传给包含read命令的while命令。

         默读与文件读取操作实例如下:         

#!/bin/bash#默读与文件读取cunt=1read -p "用户名:" usernameread -s -p "用户密码:" passwhile [ $cunt -eq 1 ]doif [ $pass = "ewang123" ]then   echo -e "/n$username登录成功...../n"   if read -t 20 -p "对两个操作数求和:" one two   then   #把操作数与零求和   #1>/dev/null表示标准输出重定向到空设备文件,也就是不输出任何信息到终端   expr ${one} + 0 1>/dev/null 2>&1   #如果上一条名执行成功,$?的状态位0,说明操作数是数字   if [ $? -eq 0 ]     then    	expr ${two} + 0 1>/dev/null 2>&1         if [ $? -eq 0 ]        then            echo  "$one+$two=$[ $one + $two ]"        else	    echo "$one+$two="$one" $two"        fi    else         echo "$one+$two="$one" $two"   fi   else       echo -e "/n输入超时!/n"       continue   fielse   echo "密码输入错误!"   num=1   #显示Demo45的前3行信息,并对读取这些信息   head -n 3 Demo45 | while read line   do     echo "Line #$num:$line"     num=$[ $num+1 ]   done   breakfi done


广告 广告

评论区