“cp p2 &2 &”命令使 Konsole 消失,这是一个错误吗?

“cp p2 &2 &”命令使 Konsole 消失,这是一个错误吗?

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

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

为什么会出现这种情况,是bug吗?

我怎样才能修复命令以获得我想要的东西? (稍后我可能想将数据复制到 STDOUT 之外的其他位置。)

答案1

我想说这是一个错误。你正在运行什么版本的 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 &
    

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

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

    cat p2 &

相关内容