Bash

‘cp p2 &2 &’ 命令讓 Konsole 消失,是 bug 嗎?

  • August 26, 2012

目標是啟動一個後台程序,將數據從管道 p2 複製到 STDOUT,因為 p2 由其他程序提供數據。

我猜這個命令是不正確的。儘管如此,Konsole 應用程序視窗不應只是在按下輸入後立即消失。我應該收到一條錯誤消息或送出崩潰報告視窗或其他任何內容。

為什麼會發生這種情況,這是一個錯誤嗎?

如何修復命令以獲得我想要的?(稍後我可能想將數據複製到 STDOUT 以外的其他地方。)

我會說這是一個錯誤。您正在執行哪個版本的 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’)(由於 args 不足 - 沒有目標而失敗),然後嘗試在後台執行一個名為 ‘2’ 的命令。

這與執行相同:

cp p2 &
2 &

您沒有執行“exit”的名為“2”的別名、腳本或 shell 函式嗎?如果不是,那麼 shell 肯定不應該終止。 2. 你想做什麼?我猜您正在嘗試顯示命名管道 p2 的內容,並在後台執行它?如果是這樣,試試這個:

cat p2 &

引用自:https://unix.stackexchange.com/questions/46357