Linux에서 괄호 누락 메시지가 표시됨

Linux에서 괄호 누락 메시지가 표시됨

VPS 서버와 게스트 시스템에서 centos를 사용하고 있습니다. 게스트 시스템에 로그인하는 방법에는 두 가지가 있습니다. 하나는 루트이고 다른 하나는 루틴입니다. 게스트와 chroot를 마운트 디렉터리에 마운트한 후 마운트된 게스트의 일반 계정으로 전환합니다. 그러면 아래와 같이 괄호가 누락됩니다.

[root@server image]# chroot /mnt/guest34
[root@server /]# su - regular
-bash-4.1$ sd
-bash: sd: command not found

답변1

.bash_profile및 에 대해 읽어야 합니다 .bashrc. 괄호 안의 정보는 일반적으로 홈 디렉터리 및/또는 /etc/profile( 로 시작하는 줄을 찾으세요 )에 있는 PS1=파일에 대한 기본 설정 입니다. 나는 chroot를 수행할 때 사용자가 이러한 파일을 로드하기 위해 홈 폴더에 액세스할 수 없다고 가정합니다. 따라서 프롬프트는 기본적으로 사용자 정의되지 않습니다.

대부분의 최신 배포판은 비슷한 내용을 표시 [user@server directory]#하지만 이 동작은 이 두 파일에 의해 제어됩니다. 당신이 보고 있는 것은 사용자 홈페이지에서 로드할 수 없기 때문에 맞춤형 bash가 아닙니다.

답변2

어떤 질문이 있나요?

프롬프트의 모양은 $PS1변수에 의해 정의됩니다. 귀하의 regular계정에는 변수 값에 대괄호가 없습니다.

regular프롬프트를 자신의 것과 비슷하게 표시 하려면 먼저 root로 로그인한 다음 값을 복사하거나 적어 두십시오. 그런 다음 으로 전환하여 의 값으로 설정합니다. 붙이고 싶으면 저장하세요.rootecho $PS1regular$PS1~/.bashrc

이 모든 내용은 에 자세히 설명되어 있습니다 man bash.

답변3

또는 다음을 복제할 수 있습니다.

git clone git://github.com/christopher-barry/bash-color-tools.git

사용자 정의 테마 색상 프롬프트를 사용하여 트리 루트에서 ./install을 실행하세요. :)

관련 정보