기본적으로 대화형으로 실행되는 bash 스크립트를 정의할 수 있습니까?

기본적으로 대화형으로 실행되는 bash 스크립트를 정의할 수 있습니까?

~/bin나는 몇 가지 스크립트를 작성하여 내 폴더 에 저장했습니다 . 쉘 세션 중에 헤더를 호출하여 실행할 수 있었습니다. 그러나 대화형으로 실행되지는 않습니다. 즉, 별칭 ~/.bashrc이 로드되지 않습니다.

대화형으로 실행되도록 기본값으로 표시하는 방법이 있습니까? 아니면 source ~/.bashrc그 안에 정의된 별칭을 사용해야 합니까 ?

대안을 환영합니다!

답변1

hashbang에 이 옵션을 추가 하면 -i스크립트가 대화형 모드에서 실행되도록 지정됩니다.

#!/bin/bash -i

또는 다음 옵션을 사용하여 스크립트를 호출할 수 있습니다.

bash -i /path/to/script.sh

답변2

귀하의 제품을 소싱하는 것은 .bashrc좋은 생각이 아닙니다. .bash_alias별칭을 사용하여 파일을 만든 다음 스크립트에서 해당 파일을 가져와 사용할 수 있습니다.shopt

그것은 다음과 같습니다:

shopt -s expand_aliases
source ~/.bash_alias

Bash 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.

셸이 비대화형인 경우, Shopt를 사용하여 Expand_aliases 셸 옵션을 설정하지 않으면 별칭은 확장되지 않습니다(아래 SHELL BUILTIN COMMANDS 아래의 shopt 설명 참조).

관련 정보