Shell 标准输入输出

详情地址:  Shell 标准输入输出 | 小步教程

Shell 标准输入输出

我们常用的两条输入输出语句

接收输入

read -p "input name:" name

将用户输入的值赋值到变量。

输出

echo $name

img

输入与输出分别对应的硬件:输入通过键盘,输出到显示器。

3个标准设备

Linux把硬件映射为设备文件,对应一个文件描述符。

项目设备文件文件描述符
标准输入(默认键盘)/dev/stdin&0
标准输出(默认显示器)/dev/stdout&1
标准错误(默认显示器)/dev/stderr&2

输出与错误

命令执行正确的提示结果称为输出;命令执行失败的提示结果称为错误

例1:1条ll语句同时存在输出与错误。

当前文件夹存在文件file1.txt,不存在文件file-error.txt,一条ll命令两个文件。

ll file1.txt file-error.txt

img

第1条提示为错误,第2条提示为输出

注:两个不同的流处理,没有严格按照顺序显示。

例2:两条echo

echo xiaobu
echoooo xiaobu

img

echo xiaobu的结果称为 输出;echooooo xiaobu 因为命令拼写错误,执行失败的提示结果称为 错误。显然两者都显示到显示器。

输入输出的完整写法

输入

read -p "input name:" name

read命令默认从键盘&0输入。

完整写法:

read -p "input name:" name <&0

<表示输入动作;

&0表示从键盘接收输入;

中间无空格。

输出

echo $name

echo命令默认 标准输出到&1(显示器) 标准错误还是到&2(还是显示器)。

完整写法:

echo $name 1>&1 2>&2

其中空格很少,加了会报错。

>表示输出动作;

1>表示其中的标准输出的内容的处理,&1表示显示器;

2>表示其中标准错误的内容的处理,&2表示显示器。

下一节我们会把&1,&2替换成不同文件,那么就实现:一个文件存正常内容,一个文件存错误内容。

完整内容如下:

read -p "input name:" name <&0
echo $name 1> &1 2>&2

img

运行效果与不加完全一样。成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值