bash: bash 프롬프트에 백그라운드 작업 이름 표시

bash: bash 프롬프트에 백그라운드 작업 이름 표시

bash 프롬프트를 미니 작업 표시줄로 사용할 수 있다면 멋질 것입니다.

bash 프롬프트(PS1)가 jobs 명령에 나열된 작업 이름을 표시할 수 있습니까?

답변1

주석의 AFH는 빌딩 블록을 제공합니다. 올바른 인용을 얻는 방법의 한 예는 다음과 같습니다.

"작업 이름"으로 작업의 명령 이름("실행 중" 다음의 첫 번째 단어)을 선택합니다.

PS1='$(echo $(jobs | awk '\''/Running/{print "[" $3 "]"}'\''))$ '

그리고 두 개의 백그라운드 명령을 사용하여 이를 시도하고 "enter"를 몇 번만 입력하면 프롬프트가 변경되는 것을 볼 수 있습니다.

$ sleep 4 & sleep 2 &
[1] 7222
[2] 7223
[sleep] [sleep]$ 
[sleep] [sleep]$ 
[2]+  Done                    sleep 2
[sleep]$ 
[1]+  Done                    sleep 4
$ 

관련 정보