ZDOTDIR에 해당하는 bash가 있습니까?

ZDOTDIR에 해당하는 bash가 있습니까?

~/에 흔적을 남기지 않고 ~/.bashrc를 다른 곳으로 이동할 수 있는 방법이 있습니까(심볼릭 링크 등 없음)? Zsh가 환경 변수 ZDOTDIR을 사용하는 것처럼요?

이것내가 원하지 않는 것을 나에게 주십시오. 이는 --rcfile터미널 프롬프트를 통해 새 셸을 초기화할 때만 작동하며, 새 터미널 에뮬레이터(또는 창 관리자의 경우 창)를 통해 시작할 때는 작동하지 않습니다.

답변1

ZDOTDIRbash와 동등한 것이 있습니까 ?

아니요, 직접적으로 동등한 것은 없습니다.

~/.bashrc흔적을 남기지 않고(심볼릭 링크 등 없음) 다른 곳으로 이동할 수 있는 방법이 있습니까?~/

예, HOME환경 변수를 변경하여 이를 수행할 수 있습니다.

$ echo echo LOL >/tmp/.bashrc
$ HOME=/tmp bash
LOL
$

하나를 위해비대화형BASH_ENV쉘에서는 환경 변수를 사용할 수 있습니다(1):

$ BASH_ENV=/tmp/.bashrc bash -c true
LOL

아니면이것.

이는 --rcfile터미널 프롬프트를 통해 새 셸을 초기화할 때만 작동하며 새 터미널 에뮬레이터를 통해 시작하는 것처럼 작동하지 않습니다.

이것은 사실이 아닙니다. 대부분의(모두?) 터미널 에뮬레이터에서는 기본 셸 대신 실행할 명령과 인수를 선택할 수 있습니다.


(1)Bash 매뉴얼 페이지의 설명이 혼란스럽기는 하지만 POSIX BASH_ENV모드에서 실행될 때 bash와 동일한 소스는 아닙니다.ENV비대화형쉘이지만 후자는 다음으로 구성됩니다.인터렉티브껍데기. 어쨌든 둘 다 명령 확장이 가능하므로 이를 사용하여 명령을 직접 실행할 수 있습니다.

$ BASH_ENV='$(echo WTF >/dev/tty)' bash -c true
WTF
$ ENV='$(echo WTF >/dev/tty)' bash --posix -ic true
WTF

관련 정보