shell脚本中>/dev/null的含义

shell脚本中有段使用sqlplus的部分:sqlplus${user_id}<<!>/dev/nullspoolspool_file;desctablespoolof... shell脚本中有段使用sqlplus的部分:

sqlplus ${user_id} <<! >/dev/null
spool spool_file;
desc table
spool off;
exit
!

请问这里”>/dev/null“是什么意思呢?谢谢!
这里的日志指的是执行以下脚本在屏幕上打印的部分?

sqlplus ${user_id} <<! >/dev/null
spool spool_file;
desc table
spool off;
exit
!
展开
 我来答
大野瘦子
高粉答主

推荐于2019-09-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.5万
展开全部

/dev/null表示空设备,这里就是把日志记录到空设备里,就是不记录日志,Null 是一特殊指标值(或是一种物件参照 reference)表示这个指标并不指向任何的物件。

是一个特殊的文件,写入到它的内容都会被丢弃,如果尝试从该文件读取内容,那么什么也读不到,但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到”禁止输出“的效果。

扩展资料:

用处:禁止标准输出

1 cat $filename >/dev/null   # 文件内容丢失,而不会输出到标准输出,禁止标准错误。

2、dev/null 这样错误信息[标准错误]就被丢的不知道到哪了。

3、1>/dev/null 2>&1的含义 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2表示stderr标准错误 & 表示等同于的意思。

4、2>&1,表示2的输出重定向等同于1 那么本文标题的语句1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。 

5、2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

6、/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。 

参考资料来源:

null值-百度百科

shell脚本-百度百科

杂货铺
高粉答主

推荐于2019-08-06 · 世界之大,都需要慢慢了解学习
杂货铺
采纳数:22 获赞数:42130

向TA提问 私信TA
展开全部

shell脚本中的>/dev/null,这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。


扩展资料:

shell的用途:

使用用户的缺省凭证和环境执行 shell。

在UEFI环境下,EFI的Shell环境提供了一组丰富的扩展和增强的命令,在以后的计算机中,传统的DOS界面将会被SHELL环境所取代,所有的.exe文件将不会在以后支持SHELL的环境中出现,取而代之的文件后缀是.efi。

在SHELL环境下,分为IA32和X64,32位的*.efi文件不能在X64的计算机中运行。

参考资料:百度百科-shell

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
檀香透窗棂
高粉答主

推荐于2019-10-26 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:7.1万
展开全部

含义:

这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。

那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。

shell重定向介绍:

就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置。在交互式的程序中,输入来自用户的键盘和鼠标,结果输出到用户的屏幕,甚至播放设备中。

而对于某些后台运行的程序,输入可能来自于外部的一些文件,运算的结果通常又写到其他的文件中。

而且程序在运行的过程中,会有一些关键性的信息,比如异常堆栈,外部接口调用情况等,这些都会统统写到日志文件里。

shell脚本也一样,但是我们一般在使用shell命令的时候,更多地还是通过键盘输入,然后在屏幕上查看命令的执行结果。

如果某些情况下,我们需要将shell命令的执行结果存储到文件中,那么我们就需要使用输入输出的重定向功能。

扩展资料

其他重定向:

1、2. 2>&1

这条命令用到了重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。

linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出)。

然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。

执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。

2、>/dev/null 2>&1 VS 2>&1 >/dev/null

linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令。那么我们同样从左到右地来分析2>&1 >/dev/null:

2>&1,将错误输出绑定到标准输出上。由于此时的标准输出是默认值,也就是输出到屏幕,所以错误输出会输出到屏幕。

>/dev/null,将标准输出1重定向到/dev/null中。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vlyonline
2011-02-10 · TA获得超过147个赞
知道答主
回答量:23
采纳率:0%
帮助的人:11.9万
展开全部
黑洞设备,专门用来处理需要被丢弃的信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiao191035162
2011-02-10 · TA获得超过407个赞
知道小有建树答主
回答量:897
采纳率:0%
帮助的人:434万
展开全部
/dev/null
表示空设备,这里就是把日志记录到空设备里,就是不记录日志。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式