다음 명령 BAR
을 실행 중이며 내가 만든 새 셸이 먼저 .mybashrc를 실행하고 $FOO
이전에 설정 한 위치가 실행되므로 me를 반환 할 것으로 예상합니다 echo $FOO
.
bash --rcfile .mybashrc -c 'echo $FOO'
.mybashrc :
export FOO="BAR"
그러나 결과는 비어 있습니다. 무엇이 잘못 되었습니까?
기본적으로 비대화 형 bash
실행은 .bashrc
또는 --rcfile
옵션 대상 과 같은 초기화 파일을로드하지 않습니다 . man
페이지에 설명 된대로 :
An interactive shell is one started without non-option arguments and without
the -c option whose standard input and error are both connected to terminals
... or one started with the -i option.
따라서 다음을 사용 bash
하여 대화 형 쉘처럼 작동 하도록 강제 하여 원하는 동작을 얻을 수 있습니다 -i
.
bash --rcfile .mybashrc -ci 'echo $FOO'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다