linux 命令之read

linux 命令之read


命令功能:

在shell编程中,read命令的功能是从键盘或文件中的某一行文本中读入信息,并将其赋值给一个变量。
如果指定一个变量,那么read会将所有的输入都赋值给这个变量,直到遇到文件结束符或回车。
如果指定多个变量,那么read会将所有的输入 按空格作为变量分隔符 进行分离赋值,如果输入过长,或者空格很多,shell会将无法赋值给变量的信息都赋值给最后一个变量。


举例说明:

例1 赋值一个变量
[root@localhost ~]#vi test.sh
#!/bin/sh
read a
echo “输入信息:” $a”输入完毕!”

[root@localhost ~]#./test.sh
测试输入信息 abcd efg h
————————–
运行结果:
输入信息:测试输入信息 abcd efg h输入完毕!

例2 赋值两个或多个变量
[root@localhost ~]#vi test.sh
#!/bin/sh
read a b c d e
echo “输入信息:” $a
echo $b
echo $c
echo $d
echo $e


运行结果:
[root@localhost ~]# ./test.sh
测试信息1 测试信息2 测试信息3 测试信息4 测试信息5 测试信息6 测试信息7 测试信息8 测试信息9 测试信息10 测试信息11 测试信息12 测试信息13 测试信息14 测试信息15
输入信息: 测试信息1
测试信息2
测试信息3
测试信息4
测试信息5 测试信息6 测试信息7 测试信息8 测试信息9 测试信息10 测试信息11 测试信息12 测试信息13 测试信息14 测试信息15


从以上的运行结果我们可以看出,采用空格分隔符分隔变量,shell中会将超过的长度,全部赋值给最后一个变量。