bashrc 파일에서 내보내기 및 소스 명령 사용

bashrc 파일에서 내보내기 및 소스 명령 사용

저는 Ubuntu에서 bash를 실행 중이고 Gaussian 16이라는 계산 화학 프로그램을 실행하려고 합니다. 내 동료는 파일에 다음 줄을 추가하면 Gaussian 16을 실행할 수 있다고 말했습니다 .bashrc.

export g16root=/g16root
source $g16root/g16/bsd/g16.profile

.bashrc내 동료는 이 줄을 파일 에 추가하면 필요한 입력 파일이 있는 g16 <input file>명령 을 사용하여 Gaussian 16을 실행할 수 있다고 말했습니다.<input file>

내 파일은 내 홈 디렉터리( 즉 , ) .bashrc에 있습니다 . 위의 두 줄을 내 파일에 추가하고 시도하면 bash는 (" ") 가 무엇인지 모른다고 알려줍니다 .~/export/home/myusername/.bashrcg16 <input file>g16g16: command not found

하지만, 만약 내가구현하다(각각) bash에서 위의 두 줄(즉, 위의 명령 exportsource명령)을 입력하면 bash는 g16그것이 무엇인지 압니다. 즉, g16 <input file>소프트웨어를 실행하고 추가로 which g16제공됩니다 . 따라서 이것은 작동하지만 and 명령을 /g16root/g16/g16다시 입력해야 합니다.exportsource모든(원격) 컴퓨터에 로그인한 시간입니다.

저는 bash를 처음 접하므로 양해해 주시기 바랍니다. 하지만 bash가 내 파일에서 "실행" export하고 명령하도록 하려면 어떻게 해야 합니까?source.bashrc

도움이 된다면 내 전체 .bashrc파일(주석 처리된 줄 제외)은 이제 다음과 같습니다.

test -s ~/.alias && . ~/.alias || true

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

export g16root=/g16root
source $g16root/g16/bsd/g16.profile

(처음 두 코드 블록이 왜 있는지 모르겠습니다.)

또한 실행이 echo $BASH_VERSION제공 4.1.5(1)-release되므로 실제로는 bash를 사용하고 있습니다.

답변1

ilkkachu가 말했듯 .bashrc이 처리되지 않았습니다.로그인 쉘--오직 .profile. (이 동작은 Ubuntu에만 해당될 수 있습니다. 확실하지 않습니다.)

.bashrc다음 줄을 추가하여 로그인 셸이 처리되도록 유도 할 수 있었습니다 .profile.

# if running bash
if [ -n "$BASH_VERSION" ]; then
     # include .bashrc if it exists
     if [ -f "$HOME/.bashrc" ]; then
         . "$HOME/.bashrc"
     fi
fi

관련 정보