是否可以自訂提示以顯示是否有背景作業?

是否可以自訂提示以顯示是否有背景作業?

是否可以自訂 bash 提示字元以顯示是否有背景作業?我發現很容易忘記還有後台工作。

假設提示是...

$

有沒有辦法讓它顯示後台作業的數量?例如,如果使用 傳送到背景的兩個背景作業CTRL+Z,則提示將是...

2 $

答案1

輸入\j您的提示。來自bash手冊

\j 目前由 shell 管理的作業數量


請記住,提示確實會過時,並且作業可以隨時完成,因此,如果您讓終端處於空閒狀態,您將需要重新顯示提示。


\j您可以只在存在作業時才顯示提示,但代價是需要額外的過程來列印提示。

PROMPT_COMMAND='hasjobs=$(jobs -p)'
PS1='${hasjobs:+\j }\$ '

答案2

在 zsh 中,您可以使用%j來指示作業數量,"%1(j.%j.)"如果至少有一個正在運行,則顯示作業數量,否則不顯示任何內容(而不是 0)。例如。RPROMPT="%1(j.%j.)"將其顯示在右側的提示中。手冊中的更多信息這個答案

相關內容