루트로 원격 시스템에 ssh를 실행하면 명령 출력은 다음과 같습니다.
root@Machine:/current/path#:
그러나 루트가 아닌 사용자로서 내가 보는 것은 다음과 같습니다.
$
루트 사용자와 동일한 동작을 얻으려면 어떻게 해야 합니까? 왜 다른가요?
답변1
언급한 "명령 출력"을 "프롬프트"라고 합니다. 일반적으로 프롬프트 끝 부분에는 프롬프트 끝과 사용자 입력 시작을 나타내는 문자( bash
보통 #
또는 )가 있습니다. $
당신이 루트인지 알 수 있도록 다릅니다. 일반적으로 말하면, 프롬프트 끝에서 이를 보면 #
자신이 루트이고 명령에 주의해야 한다는 것을 알 수 있습니다.
제어 프롬프트는 사용 중인 쉘에 따라 다릅니다. 이를 위해 bash
환경 변수를 사용할 수 있습니다 . PS1
예를 들어 다음을 실행하는 경우:
export PS1='\u@\h \w \$ '
다음 프롬프트는 다음과 같이 변경됩니다.
phunehehe@workstation ~/Desktop $
man bash
PS1 변수의 형식에 대해서는 팁 섹션을 참조하세요. 귀하의 질문에서 흥미로운 점은 다음과 같습니다.
\$ if the effective UID is 0, a #, otherwise a $
프롬프트를 영구적으로 변경하려면 내보내기 행을 /etc/profile
(시스템 측) 또는 ~/.profile
(사용자 측) 또는 이에 상응하는 위치에 넣으십시오.