그래서 저는 종종 앱을 백그라운드로 푸시하고 앱 간에 전환합니다. 나는 fg가 탭을 완전히 정의하지 않았다는 것을 깨달았습니다.
그래서 jobs 명령의 제안을 기반으로 완전한 fg 탭을 신속하게 구성할 수 있다고 생각했습니다. 흥미로운 프로젝트처럼 보였기 때문에 비슷한 것이 이미 온라인에 존재하는지 확인하지 않았습니다. 이것은 지금까지 내 코드입니다.
job(){
readarray COMPREPLY < <(jobs -l)
for i in "${!COMPREPLY[@]}"; do
printf -v pad %*s -$COLUMNS "${COMPREPLY[i]}"
COMPREPLY[i]="%"${pad//[][]}
done
}
문제는 각 제안 끝에 새 줄 문자(^j)가 있다는 것입니다. 예를 들면 다음과 같습니다.
%1 53967 vim^J를 중지했습니다
%2 54257 Python^J를 중지했습니다.
%3 54499 중지됨(신호) nano^J
%4- 42270 vim 중지 ~/.bashrc^J
%5+ 47434 vim 중지 ~/.bashrc^J
답변1
readarray 의 동의어 help mapfile
:
옵션:
-t 읽은 각 줄에서 후행 DELIM(기본 개행)을 제거합니다.
뒤따르는 새 줄을 잘라내려면 readarray 호출에 이 옵션을 추가하세요.