/dev/null 然后我提交以下管道: $ echo "foo" | cat -e - 1>/dev/n-6ren">
gpt4 book ai didi

bash - 当进程不存在时管道到进程?

转载 作者:行者123 更新时间:2023-11-29 08:55:06 24 4
gpt4 key购买 nike

假设我从以下语句开始,该语句echo-s 一个字符串到以太中:

$ echo "foo" 1>/dev/null

然后我提交以下管道:

$ echo "foo" | cat -e - 1>/dev/null

然后我把过程留在外面:

$ echo "foo" | 1>/dev/null

为什么不返回错误消息?关于 bash 和管道的文档似乎没有直接提及可能是原因。在第一次从 echo 读取之前是否发送了一个 EOF(或者任何在管道上游运行的进程)?

最佳答案

shell 简单命令不需要有命令名。对于没有命令名称的命令:

  • 变量赋值适用于当前执行环境。以下将两个变量设置为参数值:

    arg1=$1 arg3=$3
  • 重定向发生在子 shell 中,但子 shell 除了初始化重定向之外不做任何事情。以下将截断或创建指定的文件(如果您具有适当的权限):

    >/file/to/empty

但是,一条命令必须至少有一个词。一个完全空的命令是一个语法错误(这就是为什么偶尔需要使用 :)。

答案总结自 Posix XCU§2.9.1

关于bash - 当进程不存在时管道到进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43948424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com