Shell标准输入输出和错误

休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述Shell标准输入输出和错误相关的知识,希望能为你提供帮助。
1.
& > word 和> & word 等价于 > word 2> & 1

2.
read 命令从标准输入读取,并把输入的内容复制给变量。命令格式: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p  prompt] [-t timeout] [-u fd] [name ...]
-e    在一个交互 shell 中使用 readline 获取行
-r  不允许反斜杠转义任何字符
【Shell标准输入输出和错误】-s    隐藏输入
-a array    保存为数组,元素以空格分隔
-d delimiter    持续读取直到遇到 delimiter 第一个字符退出
-n nchars    读取 nchars 个字符返回,而不是等到换行符
-p prompt    提示信息
-t timeout    等待超时时间,秒
-u fd    指定文件描述符号码作为输入,默认是 0
name    变量名




获取用户输入保存到变量:
# read -p "Please input your name: " VAR
Please input your name: lizhenliang
# echo $VAR
lizhenliang
用户输入保存为数组:
# read -p "Please input your name: " -a ARRAY
Please input your name: a b c # echo $ARRAY[*]
a b c
遇到 e 字符返回:
# read -d e VAR
123
456
e# echo $VAR
123 456
从文件作为 read 标准输入:
# cat a.txt
adfasfd
# read VAR < a.txt
# echo $VAR
adfasfd
while 循环读取每一行作为 read 的标准输入:
# cat a.txt |while read LINE; do echo $LINE; done
123
abc
分别变量赋值:
# read a b c 1 2 3 # echo $a
1# echo $b
2# echo $c
3# echo 1 2 3 | while read a b c; do echo "$a $b $c"; done
1 2 3




    推荐阅读