Bash 런타임 파일을 임의의 디렉터리로 재배치

Bash 런타임 파일을 임의의 디렉터리로 재배치

bash런타임 파일( ~/.bash_history~/.bashrc)을 정의된 디렉터리(예: 등)로 ~/.config/bash재배치 하는 방법은 무엇입니까 ~/.cache/bashhistory?

답변1

사용자 정의 파일에 대한 심볼릭 링크를 만들 수 있다고 생각합니다

ln -s ~/.config/bash ~/.bashrc
ln -s ~/.cache/bashhistory ~/.bash_history

또는

기록 파일의 경우 쉘 변수를 설정할 수 있습니다

HISTFILE=~/.cache/bashhistory

또는 다음을 사용하여 bash를 시작할 수 있습니다.

bash --rcfile ~/.config/bash

답변2

Bash가 특정 디렉터리의 구성 파일을 사용하도록 하는 단일 구성 옵션은 없습니다. 다음을 사용하여 --rcfileBash에 특정 값을 지정할 수 있습니다 ..bashrcman bash

   --rcfile file
          Execute commands from file instead of the standard
          personal initialization file ~/.bashrc if the shell is
          interactive (see INVOCATION below).

예를 들어:

bash --rcfile ~/.config/bash

HISTFILE쉘 변수를 ~/.cache/bashhistory다음과 같이 설정할 수 있습니다 ~/.config/bash.

HISTFILE=~/.cache/bashhistory

다른 구성 파일이 있는 경우 언제든지 ~/.config에 지정된 파일에 대한 심볼릭 링크를 생성하여 대신 ~/.config/profile을 편집할 수 있습니다 ~/.profile.

ln -s ~/.profile ~/.config/profile

최후의 수단으로 이름이 변경되지 않은 모든 구성 파일을 설정하여 ~/.config에 넣고 다음과 같이 bash를 시작할 수도 $HOME있습니다 ~/.config.

$ echo HOME_CHANGED=1 >> ~/.config/.bashrc
$ HOME=~/.config bash
$ echo $HOME_CHANGED
1

(참고 $명령줄 프롬프트 명령의 일부가 아닌 새 줄의 시작을 나타내는 데 사용됩니다.

답변3

연결을 사용하지 않으려면 소스에서 bash를 다시 빌드하여 shell.c의 ~/.bashrc ~/.bash_profile에 기본 경로를 패치해야 합니다.

주요 단점: bash 업데이트에 따라 이 프로세스를 주기적으로 반복해야 합니다...

관련 정보