网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月01日漏签0天
linux吧 关注:534,317贴子:2,573,599
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 0回复贴,共1页
<<返回linux吧
>0< 加载中...

Shell 标准输入输出

  • 只看楼主
  • 收藏

  • 回复
  • 小步教程
  • -------x
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Shell 标准输入输出
我们常用的两条输入输出语句
接收输入
read -p "input name:" name
将用户输入的值赋值到变量。
输出
echo $name

输入与输出分别对应的硬件:输入通过键盘,输出到显示器。
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

第1条提示为错误,第2条提示为输出。
注:两个不同的流处理,没有严格按照顺序显示。
例2:两条echo
echo xiaobuechoooo xiaobu

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 <&0echo $name 1> &1 2>&2

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


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回linux吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示