0
点赞
收藏
分享

微信扫一扫

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

4.3.3 默读与文件读取

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

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

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


#!/bin/bash
#默读与文件读取
cunt=1
read -p "用户名:" username
read -s -p "用户密码:" pass
while [ $cunt -eq 1 ]
do
if [ $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
fi
else
echo "密码输入错误!"
num=1
#显示Demo45的前3行信息,并对读取这些信息
head -n 3 Demo45 | while read line
do
echo "Line #$num:$line"
num=$[ $num+1 ]
done
break
fi
done

第4章 处理用户输入与显示数据------------(默读与文件读取)_shell使用read与管道读取文件信息

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


举报

相关推荐

0 条评论