백그라운드 작업이 있는지 표시하도록 프롬프트를 사용자 정의할 수 있습니까?

백그라운드 작업이 있는지 표시하도록 프롬프트를 사용자 정의할 수 있습니까?

백그라운드 작업이 있는지 표시하도록 bash 프롬프트를 사용자 정의할 수 있습니까? 배경 작업이 있다는 사실을 쉽게 잊어버리곤 합니다.

프롬프트가 다음과 같다고 가정해 보겠습니다.

$

백그라운드 작업 수를 표시하는 방법이 있습니까? 예를 들어, 백그라운드로 전송된 두 개의 백그라운드 작업을 사용하는 경우 CTRL+Z프롬프트는 다음과 같습니다.

2 $

답변1

\j팁을 입력하세요 . ~에서배쉬 매뉴얼:

\j 현재 셸에서 관리하는 작업 수


프롬프트는 만료되며 작업은 언제든지 완료될 수 있으므로 터미널을 유휴 상태로 두면 프롬프트를 다시 표시해야 한다는 점을 명심하세요.


\j작업이 있는 경우에만 프롬프트를 표시할 수 있지만 프롬프트를 인쇄하려면 추가 프로세스가 필요합니다.

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

답변2

zsh에서는 다음을 사용하여 %j작업 수를 표시 할 수 있습니다. "%1(j.%j.)"예를 들어. RPROMPT="%1(j.%j.)"오른쪽 프롬프트에 표시하세요.자세한 내용은 설명서를 참조하세요.그리고이 답변.

관련 정보