休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述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
推荐阅读
- go语言学习--注释
- awk-printf 语句自定义函数
- MySQL数据库——索引
- Nginx Rewirte指令
- 笨叔(ARM64体系结构与编程之cache必修课(下))
- #私藏项目实操分享#愚公系列2022年02月 阿里云 无影云桌面产品测评
- #yyds干货盘点#常用的 Linux 系统备份恢复命令
- 一道面试题目
- 进程调度案例分析(为何不能调度())