“cp p2 &2 &”命令让Konsole消失,是bug吗?

Ali*_*Ali 0 bash pipe konsole io-redirection shell-script

目标是启动一个后台进程,将数据从管道 p2 复制到 STDOUT,因为 p2 是由其他进程提供数据的。

我猜命令不正确。尽管如此,Konsole 应用程序窗口不应在按下 Enter 键后立即消失。我应该收到错误消息或提交崩溃报告窗口或其他任何内容。

为什么会发生这种情况,这是一个错误吗?

如何修复命令以获得我想要的?(稍后我可能想将数据复制到 STDOUT 以外的其他地方。)

cas*_*cas 5

我会说这是一个错误。你运行的是什么版本的 bash?您的命令行不正确,但不应使 shell 崩溃。我希望看到这样的输出:

$ cp p2 &2 &
[1] 24800
[2] 24801
$ bash: 2: 找不到命令
cp:在“p2”之后缺少目标文件操作数
试试 `cp --help' 以获得更多信息。

[1]- 退出 1 cp -i p2
[2]+ 退出 127 2
  1. '&2' 没有任何意义。好吧,这并不意味着您似乎认为它意味着什么。它在后台运行前一个命令('cp')(由于参数不足而失败 - 没有目的地),然后尝试在后台运行一个名为 '2' 的命令。

    这与运行相同:

    cp p2 &
    2 &
    

    您没有名为“2”的别名、脚本或 shell 函数来运行“exit”,是吗?如果没有,那么外壳当然不应该终止。

  2. 你想做什么?我猜你想显示命名管道 p2 的内容,并在后台运行它?如果是这样,请尝试以下操作:

    cat p2 &