대화형 bash 세션을 시작하기 전에 사용자 정의 명령을 지정할 수 있습니까? [복사]

대화형 bash 세션을 시작하기 전에 사용자 정의 명령을 지정할 수 있습니까? [복사]

참고:질문 내용은 본질적으로 동일하지만이 링크에 문제가 있습니다, 제공된 답변이 그다지 만족스럽지 않았기 때문에 "문제 해결"로 표시하지 않았습니다. 아래에서 내가 수락한 답변은 더 깨끗하고 간단합니다. 구경하다!

bash다음과 같이 실행할 사용자 정의 명령을 전달하는 방법을 알고 있습니다 .

bash -c "/bin/echo hello"

이렇게 하면 bash실행 매개변수가 -c종료됩니다. 작업이 완료되었을 때 대화형 프롬프트를 표시하려면 어떻게 해야 합니까? 추가해도 -i효과가 없습니다. .bashrc항상 읽는 파일에 사용자 정의 명령을 작성하고 싶지 않습니다 .

나는 그렇게 해왔 bash -c "commands; exec bash -i"지만 두 번 부팅되기 때문에 이상적이지 않습니다 bash. bash단 한 번의 실행으로 동일한 효과를 얻을 수 있는 방법이 있습니까 ?

답변1

--init-file이와 같은 옵션을 사용할 수 있습니다 bash --init-file <(echo "echo hello"). 이것은 .bashrc파일을 전혀 소싱하지 않습니다. 소스 파일을 원하면 .bashrc다음과 같이 추가할 수 있습니다 bash --init-file <(echo ". ~/.bashrc; echo hello"). 또는 실행하려는 모든 명령을 파일에 넣고 사용할 수 있습니다.bash --init-file file_with_commands

관련 정보