shell 错误输出重定向的正确方式

一、输出重定向的定义:将命令的正常输出结果保存到指定的文件中,而不是直接显示在显示屏的屏幕上。

       重定向输出使用“>”“>>”操作符

       语法:> 文件名  #表示将标准输出的内容写到后面的文件中。如果此文件名已经存在,将会覆盖源文件中的内容。

                 >> 文件名  #表示将标准输出的内容追加到后面的文件中。若重定向的输出文件不存在,则会新建该文件。

      例1:查看当前主机的CPU的类型保存到CPU.txt文件中(不显示在屏幕上)

                cat  /proc/cpuinfo     >cpu.txt

      例2:将内核版本信息追加到cpu.txt

                uname  -a  >>cpu.txt

      例3:清空一个文件

                 >cpu.txt  

二、输入重定向的定义:将命令中输入的途径由默认的键盘改为其他文件,而不是等待从键盘输入

       2.1

        例1:grep root < /etc/passwd 

        例2:在mysql中数据的导入:

                  mysql  -uroot  -p123456 < a.sql  #将a.sql导入库

         2.2EOF:通常与“<<”组合使用

         例1:以“<<EOF”开始,以EOF结尾

                  命令:①、cat >a.txt <<eof

                             ②、然后写入自己需要写入的东西,但最后一定要以eof结尾

                             ③、cat a.txt  查看写入的内容

         例2、以其他任意作为分界符,例如ccc

                 命令:①、cat >a.txt <<ccc

                            ②、然后写入自己需要写入的东西,但最后一定要以ccc结尾

                            ③、cat a.txt  查看写入的内容

          例3、在脚本我们可以通过重定向输入来打印消息菜单

                  ①、vim  p.sh       
                  ② 、#!/bin/bash

                  ③、cat <<efo

                          写入自己要写入的内容,最后以efo结尾

                 ④、p.sh

三、错误重定向:将命令执行过程中出现的错误信息 (选项或参数错误) 保存到指定的文件,而不是直接显示到显示器

        作用:错误信息保存到一个文件中

        操作符:2>

        例1:将错误显示的内容和正确显示的内容分开。

                 ①、ls /etc/passwd xxx > a.txt          #因为没有xxx这个文件或目录

                 ②、cat a.txt

                 ③、ls /etc/passwd xxx 2> a.txt       

                 ④、cat a.txt                                    #不追加,就会覆盖原先内容

转载自:https://blog.csdn.net/afeiqiang/article/details/84929758

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值