美文网首页
linux shell编程学习--八出九入定义类

linux shell编程学习--八出九入定义类

作者: 爱编程的凯哥 | 来源:发表于2018-12-16 10:26 被阅读3次
  • 定义
    一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
    标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
    标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
    标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。【出自菜鸟定义】

综上所述,本章讨论到问题,就是对这个输入输出流的重定向,即我想把错误结果输出到指定文件中要怎么做i?把正确结果输出到指定文件怎么做?命令的输入内容默认是控制台,但我要从文件中获取输入内容怎么办?

  • 输出流重定向

    定义

    输出重定向:改变程序运行的输入来源和输出地点。

image.png

如上命令,会将对应执行后的命令结果输入到指定到文件中。

注意:2 表示错误输出,1表示正确输出,0表示标准输入流

              >/dev/null 将输出重定向到空,表示抛弃结果
              >/dev/null 2>&1 标准和错误输出到将抛弃
              >2 >&1 >/dev/null 标准输出将会抛弃,错误输出将展示

例如

echo 'hello' > /dev/null 2>&1 
  • 输入流重定向

定义

  1. 命令 < 文件名 #把文件作为命令的输入
  2. 命令 << 标识符 #标识符把标识符之间的内容作为命令的输入

例如

可以看到大部分的例子,都是以wc命令为主
wc [选项][文件名]
选项:
-c #统计字节数
-w #统计单词书数
-l #统计行数

 [root@localhost temp]# wc -l <t.sh 
2

我以文件t.sh来作为输入内容,统计行数。

还有第二种,<<模式,定义标志符,然后通过输入的方式,作为的命令的输入内容

#显然我们先定义了标志符为ET(一般常用EOF做为标准符),下一个ET出现时命令将结束
[root@localhost temp]# cat <<ET
> dd
> sdsd
> sdsd
> ET
dd
sdsd
sdsd

相关文章

  • linux shell编程学习--八出九入定义类

    定义一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:标准输入文件(stdin):stdin的文...

  • Liunx下Shell编程注意事项

    shell语言编程学习教程https://www.runoob.com/linux/linux-shell.htm...

  • 作业-第07周--课堂-Day28-Shell与Shell编程相

    Day28 课堂作业 1. Shell与Shell编程相关 1.1 为什么要学习Shell编程? Linux系统中...

  • Shell编程基础知识

    关于shell编程基础: 1.为什么要学习shell编程? Linux系统中会大量的使用Shell,工作中我们也需...

  • day28-Shell编程3小时光速入门

    Shell编程3小时光速入门 1、为什么要学习shell编程? Linux系统中会大量的使用Shell,工作中我们...

  • linux/shell 分析nginx日志

    一、学习资料 高级Bash脚本编程指南 LINUX与UNIX SHELL编程指南 鸟哥的Linux私房菜 IBM ...

  • 第十三、十四天

    学习内容:Linux shell、嵌入式Linux开发平台搭建收获: 初步掌握了shell脚本编程的各类语法以及执...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • shell脚本

    SHELL 1.1、为什么要学习shell编程? Linux中会大量的使用shell,工作中我们也需要自动化实...

网友评论

      本文标题:linux shell编程学习--八出九入定义类

      本文链接:https://www.haomeiwen.com/subject/crpahqtx.html