PS1에서 bash로 표시되는 사용자 이름의 특정 문자 색상을 변경하고 싶습니다.
예 : 나의 경우 \u
입니다 rahul
, 내가 편지를 싶습니다 h
블루 컬러로 흰색으로 휴식을.
나는 \u
사용자 이름 을 참조하고 전체 '엔티티'에 색상을 추가하는 것은 다음과 같은 태그를 추가하여 수행 된다는 것을 알고 [\033[38;5;15m\]
있습니다.
가능하다면 어떻게하는지 알려주세요.
PS1에서 bash로 표시되는 사용자 이름의 특정 문자 색상을 변경하고 싶습니다.
예 : 나의 경우 \u
입니다 rahul
, 내가 편지를 싶습니다 h
블루 컬러로 흰색으로 휴식을.
나는 \u
사용자 이름 을 참조하고 전체 '엔티티'에 색상을 추가하는 것은 다음과 같은 태그를 추가하여 수행 된다는 것을 알고 [\033[38;5;15m\]
있습니다.
가능하다면 어떻게하는지 알려주세요.
답변:
\u
이스케이프를 사용하지 않으 려면 다음과 같이하십시오.
PS1="\[\e[0;31m\]${USER:0:1}\[\e[m\]${USER:1} "
프롬프트가 사용자 이름과 공백으로 설정됩니다. 사용자 이름의 첫 문자는 빨간색입니다. $USER
특정 범위 에서 변수를 두 번 확장하여 작동 합니다. 첫 번째 범위는 0에서 1까지입니다. 두 번째는 1 (두 번째 문자)에서 끝까지입니다.
요청한 프롬프트를 얻으려면 다음을 사용하십시오.
PS1="${USER:0:2}\[\e[0;34m\]${USER:2:1}\[\e[m\]${USER:3} "
echo -e
, 예를 들면echo -e "${USER:0:2}\e[0;34m${USER:2:1}\e[m${USER:3} "
ra
대신 ${USER:0:2}
등
${USER:1}
. 좋은 해결책! OP가 요청한대로 세 번째 문자의 색상을 변경하는 방법을 보여줄 수 있습니까?