
과제가 있는데 어떤 bash 구성 파일을 편집해야 할지 혼란스럽습니다.
bash 구성 파일을 편집하고 PS1 프롬프트를 변경하고 루트 사용자가 명령을 입력할 때마다 ~/scripts를 검색하는 환경 변수를 추가해야 합니다. 그런 다음 새로 생성된 모든 사용자도 변수를 갖게 되도록 적절한 디렉터리에 복사해야 합니다.
첫 번째 부분은 잘 수행할 수 있지만 어떤 구성 파일을 편집해야 할지 잘 모르겠습니다. 두 번째 요구 사항에 따라 ~/.bashrc를 편집하고 있지만 복사할 디렉터리의 두 번째 부분에서 막히게 됩니다.
NDG에서는 해당 디렉토리에 있는 확장자가 .sh인 모든 파일이 /etc/profile.d/에서 자동으로 실행된다고 말합니다. 그래서 ~/.bashrc를 bashrc.sh와 같은 파일로 복사/이름 변경했습니다. 하지만 새 사용자 프로필로 테스트하면 터미널에 빈 프롬프트가 나타납니다.
여기 누군가가 나를 도울 수 있기를 바랍니다. 감사합니다.
과제의 정확한 문구
- 적절한 bash 셸 구성 파일에서 기본 명령줄 프롬프트에 성, @, 호스트 이름, 작업 디렉터리가 표시되도록 구성합니다.
- ~/scripts라는 디렉터리를 만듭니다.
- 루트 사용자가 명령을 입력할 때 시스템이 새로 생성된 ~/scripts 디렉터리도 검색하도록 적절한 bash 셸 구성 파일에서 적절한 환경 변수를 변경합니다.
- 위 단계에서 수정한 bash 셸 구성 파일을 적절한 디렉터리에 복사하여 새 사용자가 생성될 때마다 해당 사용자도 이러한 환경 변수 값을 갖게 됩니다.
답변1
당신은 훌륭한 편집을 하고 있는 것 같습니다 .bashrc
. 사용자 생성 시 복제할 구성/스크립트 파일의 템플릿을 복사해야 하는 디렉토리는 일반적으로 에 있습니다 /etc/skel
.
그래서 당신은 할 것입니다 :
~/.bashrc
다음 위치 에 추가하고 배치합니다.PS1="surname@\h\w>"
~/scripts에서 향후 사용자 스크립트를 위한 자리 표시자를 만듭니다.
mkdir ~/scripts
~/.bashrc
스크립트를 검색하려면 $PATH 수정자 에 추가하세요 . 경험상 보안상의 이유로 처음이 아닌 끝에 추가합니다.PATH=$PATH:~/scripts
이 마지막 부분에서는 슈퍼유저 권한을 가지기 위해 명령 앞에 로
root
또는 그룹에 속하여 수행해야 합니다 . 일반 사용자 기본 권한으로는 /etc/skel 디렉토리에 쓸 수 없습니다. 에서와 같이sudo
sudo
sudo cp ~/.bashrc /etc/skel
또는 사용자로서
root
:cp ~your_user_name/.bashrc /etc/skel
관련 내용을 참조하세요링크/etc/skel에 대한 자세한 내용은
/etc/skel 디렉토리에는 useradd 프로그램에 의해 해당 사용자가 생성될 때 새 사용자의 홈 디렉토리에 자동으로 복사되는 파일과 디렉토리가 포함되어 있습니다.
/etc/skel을 사용하면 시스템 관리자가 컴퓨터나 네트워크의 모든 새 사용자에 대한 기본 홈 디렉토리를 생성하여 모든 사용자가 동일한 설정이나 환경에서 시작하도록 할 수 있습니다.
운영 체제를 설치할 때 기본적으로 여러 사용자 구성 파일이 /etc/skel에 저장됩니다.
skel 디렉토리의 이름은 Skeleton이라는 단어에서 파생되었습니다. 왜냐하면 여기에 포함된 파일이 사용자 홈 디렉토리의 기본 구조를 형성하기 때문입니다.
PATH 환경 변수에 대해서는 다음을 참조하세요.이것
PATH 환경 변수는 명령을 입력할 때 쉘이 검색하는 콜론으로 구분된 디렉토리 목록입니다.
프로그램 파일(실행 파일)은 Unix 시스템의 다양한 위치에 보관됩니다. 경로는 특정 프로그램을 요청할 때 시스템에서 찾을 위치를 Unix 셸에 알려줍니다.
PS1에서 프롬프트를 변경하려면.bashrc PS1 생성기매우 영리한 웹페이지를 사용하여 실시간으로 수정 사항을 확인할 수 있습니다.