更新:

更新:

有時我會遇到這樣的情況:我不小心按了CTRL+ ,我的應用程式就消失在後台了。Z我知道,我可以把它帶回來fg,所以沒什麼大不了的。但我想知道是否要關閉此job control功能。在我的一生中,我記不起何時需要它,它在我看來只是過去的遺跡。

完全禁用可以嗎job control?或者我錯過了什麼,這個功能很有用嗎?我如何在我的.bashrc

更新:

我已經set +m按照@Falsenames 的建議進行了嘗試。但是,這僅當我在終端中鍵入它時才有效。加入set +mmy.bashrc沒有任何效果。

答案1

您可以將以下內容新增至命令列以停止使用監視模式。

設定+m

如果您稍後確實需要 ctrl-z 功能,則只需鍵入「set -m」即可啟用對該會話的監控。

男人狂歡。請注意,這是針對“-m”的,“+m”將該設定切換為停用。

set [+abefhkmnptuvxBCEHPT] [+o option] [arg ...] 
....
-m
    Monitor mode. Job control is enabled. This option is on by default for interactive
    shells on systems that support it (see JOB CONTROL above). Background processes 
    run in a separate process group and a line containing their exit status is printed
    upon their completion. 

作為最後的努力,您可能需要手動編譯不含“--enable-job-control”標誌的 bash 版本。這是一個快速安裝指南來自 GNU。如果您確實選擇走這條路,請勿替換 /bin/bash 以防後台程序通過 bash 運行並需要作業控制。相反,創建 /bin/bash.alt 或其他文件。您可以透過執行 usermod 或以 root 身分編輯 /etc/passwd 將您的預設 shell 變更為此備用 shell。

答案2

stty susp undef將禁用大多數程式的鍵盤啟動的掛起訊號,但是像 vim 和 emacs 這樣具有特定綁定的命令Ctrl-Z必須單獨重新配置。在 emacs 中,您可以運行(global-unset-key "\C-z").

您可以將該 stty 命令新增到您的~/.bash_profile或中~/.profile,登出,然後再次登入。

答案3

或者我錯過了什麼,這個功能很有用嗎?

回答這部分問題:Cz /fg組合對於我的 vim 工作流程至關重要。例如,我更喜歡 Cz >> 而git commit不是fg在 vim 中使用 git 包裝器。

Cz 有助於將 shell 視為 IDE,符合“做一件事”原則。(這代替了“編輯器作為 IDE”)。

答案4

新增trap "" SIGTSTP到您的腳本中。它會捕獲信號並忽略它。

#!/bin/bash
trap "" SIGTSTP
watch date

相關內容