터미널 제목은 다음 구문을 사용하여 업데이트할 수 있습니다.
echo -ne "\033]0;TITLE\a"
또 어디로 \a
갈 수 있나요 \007
? (프로세스 시작 시) 창 제목을 동적으로 업데이트하기 위해 다음을 내 .bashrc
(에서 영감을 얻었 습니다)이 답변,간단화):
MY_TRAP_DEBUG() {
echo -ne "\033]0; ${BASH_COMMAND} \a"
}
trap MY_TRAP_DEBUG DEBUG
잘 작동합니다. 그러나 이제 컬러 출력을 인쇄하려면 다음을 수행하십시오.
echo -e "\033[0;33m SOME YELLOW TEXT"
, 출력에는 명령이 포함되어 있으며 결과는 ASCII 샐러드입니다. 아래 스크린샷을 참조하세요.
- 왜?
- 어떻게 해결할 수 있나요?
답변1
다음은 두 가지 질문입니다.
왜?
이스케이프 시퀀스는둥지. 타이틀 시퀀스는 다음으로 시작
\033]0;
하고 다음으로 끝납니다.\a
또는 다른 제어 시퀀스.이 문제를 어떻게 해결합니까?
당신은 할 수소독하다bash 명령을 사용하여 이를 변수에 할당하고 쉘 매개변수 대체를 사용하여 이스케이프 문자(및
\a
ASCII BEL)를 제거합니다. 보기 좋게 만들려면 대괄호(또는[
또는]
) 이스케이프 문자 뒤에, 그리고 가능한 후속 숫자 인수 뒤에.
BASH_REMATCH
누군가 그것을 사용 하고 (정규식 일치의 부작용으로 설정) 다음과 같이 사용하는 예를 제공할 수 있습니까?단어대체 해서 ${parameter##word}
...