Bash
是否可以自定義提示以顯示是否有任何後台作業?
是否可以自定義 bash 提示以顯示是否有任何後台作業?我發現很容易忘記有後台工作。
說如果提示是…
$
有沒有辦法讓它顯示後台作業的數量?例如,如果有兩個後台作業使用 發送到後台
CTRL+Z
,則提示將是…2 $
輸入
\j
你的提示。從bash 手冊:
\j
目前由 shell 管理的作業數請記住,提示確實會過時並且作業可以隨時完成,因此如果您讓終端處於空閒狀態,您將需要重新顯示提示。
以需要額外的過程來列印提示為代價,
\j
如果存在任何作業,您可以只顯示。PROMPT_COMMAND='hasjobs=$(jobs -p)' PS1='${hasjobs:+\j }\$ '
在 zsh 中,您可以使用
%j
指示作業"%1(j.%j.)"
數,如果至少有一個正在執行,則顯示作業數,否則不顯示(而不是 0)。例如。RPROMPT="%1(j.%j.)"
在右側的提示中顯示它。手冊中的更多資訊和這個 SO answer。