Linux Shell 脚本攻略(第三版)学习笔记4-9

本文介绍了Linux Shell脚本中关于文件描述符和重定向的知识,包括预备知识、实战演练、工作原理和补充内容。重点讲解了如何使用>和>>进行重定向,以及如何处理标准输出和标准错误。通过实战示例,演示了如何将输出保存到文件、追加到文件、重定向错误信息,以及使用tee命令实现同时输出和保存数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.6 玩转文件描述符与重定向

前言

文件描述符是输入和输出流相关联的整数。最常见的就是stdin,stdout,stderr.我们可以将某个文件描述符的内容重定向到另外一个文件描述符中。

1.6.1预备知识

在编写脚本的时候会频繁的用到标准输入(stdin),标准输出(stdout),和标准错误(stderr).脚本可以使用大于号(>)将输出重定向到另外一个文件中。命令产生的文本可能是正常的输出,也可能是错误信息。

默认情况下,正常输出(stdout)和错误信息(stderr)都会显示在屏幕上。

文件描述符是与某个打开的文件或数据流相关联的整数。
0 —— stdin(标准输入)。
1 —— stdout(标准输出)。
2 —— stderr(标准错误)。

1.6.2实战演练

  1. 使用大于号(>)将文本保存到文件中

在这里插入图片描述
在这里插入图片描述

echo "This is a sample text 1 " > temp.txt

该命令会输出的文本保存在 temp.txt中。如果 temp.txt这个文件已经存在,大于号会清空该文件中先前的内容。

  1. 使用双大于号(>>)将文本追加到文件中

在这里插入图片描述

echo "This is a sample text 2 " >> temp.txt
  1. 使用cat 查看文件内容
cat temp.txt
  1. 如何重定向stderr
    当命令产生错误信息时,该消息会被输出到stderr流。如ls +
ls +

在这里插入图片描述

这里, +是一个非法的参数,因此返回错误信息。

Tip
成功和不成功的命令的区别
当一个命令发生错误并退出时,会返回一个非0的退出状态;而当命令成功完成后,会返回为0的退出状态。退出状态可以从特殊变量$?中获取(在命令结束之后立刻运行echo $?,就可以打印退出状态)

下面的命令会将stderr文本打印到屏幕上,而不是文件中(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值