shell——重定向

错误重定向

错误重定向指的是将执行命令过程中出现的错误信息(如选项或参数错误等)保存到指定的文件,而不是直接显示在屏幕上。错误重定向使用“2>”时指错误文件的编号(在使用标准输出、标准输入重定向时,实际省略了1、0编号)。
在实际应用中,错误重定向可用来收集程序执行的错误信息,为排错提供依据;对于shell脚本,还可以将无关紧要的错误信息重定向到空文件/dev/null中,以保持脚本输出的简洁。将一些重要的执行程序的错误重定向到某个文件中。
使用“2>”操作符时,会像使用“&>”操作符将正确的和错误两类输出信息保存到同一个文件。
注:&>的另一种写法:2>&1,都是指正确和错误的重定向到同一个文件
1、错误覆盖

[root@server1 ~]# ./first.sh 2> error.txt

2、错误追加

[root@server1 ~]# ./first.sh 2>> error.txt

3、正确错误一起输出

[root@server1 ~]# vim http_install.sh
#!/bin/bash
#自动安装httpd服务器的脚本
cd /usr/src/httpd-2.4.25/
./configure --prefix=/usr/local/httpd --enable-so &> httpd_err_conf.txt
make &> http_err_make.txt
make install &> http_err_makeinstall.txt
[root@server1 ~]# sh http_install.sh 
http_install.sh:3:cd: /usr/src/httpd-2.4.25/: 没有那个文件或目录
[root@server1 ~]# cat http
httpd_err_conf.txt        http_err_make.txt
http_err_makeinstall.txt  http_install.sh
[root@server1 ~]# cat httpd_err_conf.txt 
http_install.sh:4: ./configure: 没有那个文件或目录
[root@server1 ~]# cat http_err_make.txt 
make: *** 没有指明目标并且找不到 makefile。 停止。
[root@server1 ~]# cat http_err_makeinstall.txt 
make: *** 没有规则可以创建目标“install”。 停止。

重定向输入

重定向输入指的是将命令中接收输入的途径由默认的键盘改为指定的文件,而不是等待从键盘输入。重定向输入使用“<”操作符。
##############################从键盘输入的例子#############################
从键盘读入字符输出给name变量

[root@server1 ~]# read name
111
[root@server1 ~]# echo $name
111
[root@server1 ~]# echo name
name

————————————补充—————————————
【read使用的语法】:
read(选项)(参数)
选项:
-p 指定读取值时候的提示符
-t 指定读取值时候等待的时间(秒)
-a array 指定输入一个数组,赋值给array
-n 2 指定输入字符的任意类型的个数为2
不加参数,默认赋值给变量:REPLY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值