$ HOME 이외의 디렉토리에서 모든 셸 세션을 시작하려면 어떻게합니까? 터미널을 시작할 때 .bashrc파일이

우분투에서 비 로그인 쉘을 열면 현재 작업 디렉토리는 /home/user_name( $HOME환경 변수)이지만 터미널을 시작할 때 다른 디렉토리에 있도록이를 변경하고 싶습니다.

우분투에서 터미널을 시작할 때 .bashrc파일이 소스 임을 읽었습니다 . 그래서 나는 추가했다

export HOME=/home/user_name/Documents 

.bashrc파일에. 이제 터미널을 열면 여전히 /home/user_name디렉토리에 있습니다.

이것을 어떻게 바꿀 수 있습니까?



답변

우선,에서 해당 줄을 제거하십시오 .bashrc. 을 사용하지 않고이 작업을 수행하는 방법은 $HOME해당 변수가 항상 홈 디렉토리를 가리키고 쉘을 다른 위치에서 시작하도록 변경하고 싶지는 않습니다.

이 작업을 수행하는보다 우아한 방법이있을 것이라고 확신하지만 임시 해결 방법 으로이 줄을 다음에 추가하면됩니다 .bashrc.

cd ~/Documents 

로그인하지 않은 새 셸을 시작할 때마다 (새 터미널을 열 때마다) 해당 파일을 읽으므로 cd명령이 실행되고 원하는대로 터미널이 시작됩니다 ~/Documents.


답변

터미널은 상위 디렉토리에서 상속 한 작업 디렉토리에서 시작합니다.

그러나 일부는 구성 설정을 통해이를 무시할 수 있습니다.

을 사용하면 gnome-terminal프로파일을 편집 하고 내 쉘 대신 사용자 정의 명령을 실행하여 만들 수 있습니다.

sh -c 'cd ~/Documents; exec "${SHELL:-sh}"'

답변

여기에 내가 넣은 내용이 있습니다 ~/.bash_profile.

alias curDir="pwd | sed -e 's/ /\\ /'"
alias save='echo `curDir` > ~/.saved_dir'
alias saved='cd `cat ~/.saved_dir`'
saved

나는 항상 이것에 의존합니다. 기본적으로 일부 프로젝트에서 작업 할 때 save기본 디렉토리가되고 이후의 모든 세션이 시작됩니다. 그런 다음 프로젝트 나 다른 것을 변경하면 save다른 곳으로 갈 것입니다.

더 나은 방법을 찾을 때이 질문을 찾았지만 특정 디렉토리를 하드 코딩하는 것보다 내가 얻는 것이 좋습니다.


답변

.bashrc파일의 위치를 찾는 사람들에게는 일반적으로 홈 디렉토리의 숨겨진 파일입니다.

그것을 찾으려면 :

터미널을 열고 홈 디렉토리로 이동 한 후 다음을 수행하십시오.

ls -al

모든 숨겨진 파일을 표시합니다. 이제 .bashrc파일 을 볼 수 있습니다.

기본 디렉토리를 변경하려면

  1. 열기 .bashrc명령을 입력하여 텍스트 편집기에서 파일 :

    gedit .bashrc
  2. 다음과 같이 마지막에 명령을 추가하여이 파일을 편집하십시오.

    cd ~/YourDirectoryName
  3. 파일을 저장하고 터미널을 다시 시작하십시오.