.bashrc
원칙적으로 하나는 바뀌면 안 되고 , 하나를 만드는 것과 같은 일반적인 변화는 alias
더 잘 이루어져야 한다는 것도 알고 있습니다 .profile
.
새 집을 빌릴 때서비스로서의 인프라Bash를 기본 셸로 사용하는 시스템의 경우 내가 취하는 첫 번째 단계는 (확장 버전)입니다.
cat <<-EOF >> "$HOME"/.profile
set -x && complete -r
EOF
source "$HOME"/.profile
"루틴"과 "서브루틴" 내용 사이에 여분의 빈 줄이 있는 이유는.profile
이미 일부 데이터가 포함되어 있습니다.set -x && complete -r
, 추가한 새 데이터(을 초과할 수 있는 단일 행 )를 기존 데이터의 나머지 부분과 분리하고 싶습니다 .
비어 있지만 "시작 파일" 역할도 하는 또 다른 파일이 필요합니다. .bashrc
이와 유사하며 .profile
추가 빈 줄 없이 데이터를 추가할 수 있습니다. Ubuntu 16.04(xenial)의 사용자 디렉토리를 잠깐 살펴보면 그러한 파일이 없음이 드러났습니다.
다른 디렉토리에 원하는 파일이 있습니까, 아니면 직접 만들어야 합니까? 그렇다면 어떻게 해야 하는지 힌트를 주세요.
답변1
나는 원칙적으로 .bashrc를 변경해서는 안 되며 별칭 생성과 같은 일반적인 변경은 .profile에서 수행하는 것이 가장 좋다는 것을 알고 있습니다.
이것은 말이 되지 않습니다. 당신이 읽은 내용을 오해했을 수도 있습니다. 바꾸지 않을 이유가 없습니다 .bashrc
. 대신에 이것은당신의사용자 정의 파일. 거기 있어, 그러니너무엇이든 넣을 수 있다너안에 있고 싶어. 처음부터 가지고 있는 것을 그대로 둘 필요는 없고, 원하는 것을 추가하면 됩니다.
.profile
둘 .bashrc
다 사용자 정의 파일이지만 용도가 다릅니다. .profile
환경 변수와 같은 로그인 작업에 사용됩니다. .bashrc
별칭 및 완성 설정과 같은 셸 구성에 사용됩니다.
set -x
디버깅 전용입니다. complete -x
로그인시 설정되지 않은 쉘 사용자 정의이므로 .bashrc
.
비어 있지만 데이터를 추가할 수 있는 .bashrc 및 .profile과 유사한 "시작 파일" 역할도 하는 다른 파일이 필요합니다.
어떤 이유로 시작한 모든 것을 유지하고 싶지만 기존 파일을 지속적으로 수정하고 싶지 않은 경우 다른 파일을 만들고 지시문을 넣고 파일을 포함할 수 .profile
있습니다 .bashrc
. 및 에서는 .profile
명령 .bashrc
( .
별명 "점")과 파일 이름을 사용하여 해당 파일의 지침을 읽을 수 있습니다. 예를 들어, etc
신속하게 배포할 수 있도록 모든 사용자 정의 항목을 이름이 지정된 디렉터리에 저장하려면 다음을 수행합니다.
- 로그인 시 콘텐츠(예: 환경 변수)는
~/etc/profile
. - Bash 사용자 정의 항목
~/etc/bashrc
. 첫 번째 배포 코드는 다음과 같습니다.
rsync -a remote-deployments/etc mynewhost.example.com/etc ssh mynewhost.example.com -c <<'EOF' grep -q -s -F '~/etc/profile' ~/.profile || echo '. ~/etc/profile' >>.profile grep -q -s -F '~/etc/bashrc' ~/.bashrc || echo '. ~/etc/bashrc' >>.bashrc EOF
추가 빈 줄이 없습니다.
거기에 빈 줄을 넣기로 선택했습니다. 아무 것도 아프지 않을 것입니다. 빈 줄을 넣지 않을 이유가 전혀 없습니다. 그러나 빈 줄을 원하지 않는다면 이것이 선택 사항입니다. 거기에 넣지 마세요.