linux - 表达式“< /dev/null some_command”有什么作用?
问题描述
我对重定向有点熟悉,并且知道 /dev/null 可用于隐藏输出,例如
some_command > /dev/null
但我遇到了用法
< /dev/null some_command
在这篇ArchWiki 文章中,并想了解它的作用。
我的第一个猜测是它相当于
some_command < /dev/null
但是如果这个猜测是正确的,那么重定向/dev/null
到命令有什么好处呢?
解决方案
是的,它们是等价的。I/O 重定向可以放在命令行的任何位置。
读取时,/dev/null
立即返回 EOF。/dev/null
如果您想阻止应用程序尝试从其初始标准输入(例如终端)读取,则重定向输入非常有用。
一个常见的用途是通过 SSH 在后台运行程序并且您希望 SSH 连接立即关闭。在所有引用它的文件描述符都关闭之前,连接不会关闭,因此您重定向所有标准描述符:
ssh servername 'somecommand </dev/null >/dev/null 2>&1 &'
推荐阅读
- python - 通知图标不显示 - pynotifier模块python
- powerbi - 检查列值在 power bi 中重复的次数
- ios - 如何动态设置自定义 UIView 类的高度,并将 XIB 添加到垂直堆栈视图?
- r - 多个变量的夏皮罗测试错误:
- javascript - 如何从子组件 onClick 访问和 setState() 的父组件
- python - 无法比较日期变量和熊猫数据框之间的日期
- c++ - 如何使用 C++ 显示连接到网络的设备的名称和 IP 地址
- angular - ngIf 可以在 Angular 1.5 中引用嵌套 ngFor 中的变量。如何在 Angular 10 中实现同样的效果?
- node.js - 在 GCP 环境之外进行 POST 调用以创建工作负载身份
- scala - 如何使用 spark scala 将整数转换为 Varchar(8)