~/.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