agochar
현재 GUI 로그인을 통해 로그인되어 있습니다. 터미널에 명령을 입력할 때마다 표시됩니다.파란색색상인데 사용자를 전환 sudo su anupam
하고 터미널에 명령을 입력하면 색상이 없어지나요? 저는 방금 리눅스를 배우기 시작했기 때문에 이 분야의 전문가는 아닙니다. 이것은 그다지 심각한 문제는 아니지만 누군가 이 문제를 해결하도록 도와줄 수 있다면 Linux 명령줄을 배우는 것이 더 쉬울까요?
답변1
쉘 의 경우 zsh
아마도 .zsh-syntax-highlighting
파란색 명령나는 길을 찾아야 한다 /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
. 이 구성은 명령뿐만 아니라 " "
및 사이의 문자열 ' '
, 경로 이름 및 존재하지 않는 명령에도 영향을 미칩니다. 예를 들어 다음을 사용하여 이 동작을 얻습니다 zsh-syntax-highlighting
.
bash
에서 사용한 프로파일은 사용할 수 없으므로 다른 zsh
프로파일을 설치해야 합니다. 대안 zsh-syntax-highlighting
은 다음 명령을 사용하여 설치할 수 있지만 먼저 사용자로 로그인했는지 확인하십시오 ble.sh
( 명령이 셸을 사용한다고 가정).anupam
bash
curl -L https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz | tar xJf -
mv ble-nightly* ~/.local/share/blesh
echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc
아니면 확인할 수 있습니다git 저장소그리고 다양한 설치 방법에 따라 운영 체제에 설치하세요.
그러나 git 저장소에서 다음을 사용하기 때문에 작은 버그를 발견했습니다(제 경우에는 전혀 작동하지 않는 한).
mkdir -p ~/.local/share/blesh
mv ble-nightly* ~/.local/share/blesh
echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc
그러나 실제로 경로는 ~/.local/share/blesh/ble.sh
존재하지 않습니다. 실제 경로는 다음과 같습니다 ~/.local/share/blesh/ble-nightly-20221112+0c6291f/ble.sh
. 따라서 앞서 제공한 명령을 사용하는 것이 좋습니다.(명령이 mv
다르게 동작하는지 확실하지 않습니다.애플 시스템)
마지막으로 다시 로그인하면 anupam
비슷한 동작이 나타날 수 있습니다 zsh
.
노트:터미널에 큰 명령을 붙여넣을 때 이러한 구성을 사용하면 속도가 약간 느려질 수 있습니다. in zsh
Paste 명령은 일반적으로 in Paste 명령보다 속도가 느린 것으로 나타났습니다 bash
.
답변2
터미널 설정, 명령 프롬프트 모양, 색상 등은 쉘 시작 스크립트에 의해 설정됩니다. 가장 일반적으로 사용되는 쉘 의 경우 파일은 , , 및 에 bash
있습니다 ./etc/profile
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
를 실행할 때 sudo
다른 시작 스크립트(및 다른 셸도 가능)를 사용하여 다른 사용자로 명령을 실행합니다. 특히 루트 사용자와 새로 생성된 사용자는 시작 스크립트만 갖고 있는 경우가 많습니다. 의견에서 사용을 언급했지만 zsh
루트 및 신규 사용자는 bash
기본적으로 이를 사용하도록 설정되어 있을 가능성이 높습니다.
나는 구성에 익숙하지 않습니다 zsh
. 그러나 대부분의 쉘에서 컬러 프롬프트를 빠르게 설정하는 가장 쉬운 방법은 다음을 사용하는 것입니다.우주선. 사용 중인 배포판에 따라 패키지 저장소에서 찾을 수 있습니다.
답변3
배쉬를 사용하는 경우
/home/$USER/.bashrc
$USER에 고유한 구성 파일이 있기 때문입니다. 이 프로필을 root
구성 파일 로 사용하려면 대신 다음을 수행하십시오.
if [[ $UID == 0 ]]; then
export PS1="root_Profile"
else
export PS1="user_Profile"
fi
$UID
== 0은 루트 계정에 있음을 의미하고, 그렇지 않으면 $USER 계정/프로필임을 의미합니다.