Bash
‘cp p2 &2 &’ 命令讓 Konsole 消失,是 bug 嗎?
目標是啟動一個後台程序,將數據從管道 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號出口
- ‘&2’ 沒有任何意義。好吧,這並不意味著你似乎認為它意味著什麼。它在後台執行上一個命令(‘cp’)(由於 args 不足 - 沒有目標而失敗),然後嘗試在後台執行一個名為 ‘2’ 的命令。
這與執行相同:
cp p2 & 2 &
您沒有執行“exit”的名為“2”的別名、腳本或 shell 函式嗎?如果不是,那麼 shell 肯定不應該終止。 2. 你想做什麼?我猜您正在嘗試顯示命名管道 p2 的內容,並在後台執行它?如果是這樣,試試這個:
cat p2 &