bash에서 별칭이 작동하지 않음 - 로그인 쉘

bash에서 별칭이 작동하지 않음 - 로그인 쉘

~/.bashrc및 에 별칭을 정의했습니다 ~/.bash_profile.

alias e='echo'

명령을 실행할 때:

bash -c 'e hello'

다음과 같이 오류가 표시됩니다.

bash: e: command not found

그러나 대화형 bash 쉘에서는 명령을 실행 e hello하면 hello.

답변1

다음을 통해 전화하는 경우 bash:

bash -c 'cmd'

그러면 bash비대화형, 비로그인 쉘이 되므로 rc 스크립트를 선택하지 않습니다.

소모품을 구 하려면 ~/.bashrc다음으로 전화하십시오 bash.

bash -ic 'e hello'

-i플래그를 사용하면 bash대화형 비로그인 셸이라고 합니다. 그런 다음 파일을 bash가져옵니다 .~/.bashrc

답변2

.profile 또는 이와 유사한 ~/.bash_profile에 추가

e(){
ECHO_COMMAND=`which echo`
$ECHO_COMMAND "$@"
}

다시 로그인하거나 실행하세요.

test@term{~}:source .profile

테스트를 받아보세요:

test@term{~}:e hello
hello

관련 정보