문제

비 결과 활성 배쉬 쉘에서 별명을 사용하려고합니다. 내 별칭을 정의했습니다 ~/.bashrc 그리고 변수를 설정했습니다 BASH_ENV=~/startUpFile. startupfile의 내용은입니다 source ~/.bashrc.

실행할 때 내 별칭이 인식되는 것을 알 수 있습니다. alias 명령. 그러나 정의 된 별칭을 사용하려고하면 ~/.bashrc, Bash는 그것을 인식 할 수 없습니다. 알 수없는 명령 오류를 제공합니다.

TCSH 쉘을 사용하면이 작업을 수행하기가 매우 쉽습니다. ~/.cshrc 파일은 항상 읽습니다.

Bash Shell 으로이 작업을 수행 할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

명령 shopt -s expand_aliases 비 중 활성화 쉘에서 별명 확장을 허용합니다.

다른 팁

.bashrc 대화식 쉘에 의해서만 처리됩니다.

또한 쉘이 대화식이 아닌 경우 별명이 확장되지 않습니다. expand_aliases 쉘 옵션이 사용 설정됩니다 shopt. 물론, POSIX 모드는 이름으로 쉘을 호출하여 호출되지 않는 한 sh 대신에 bash.

별칭을 많이 사용하는 사람들은 종종 자신의 소스를 소스합니다 .bashrc 프로파일이 끝나면 별명이 비 중 활성화 쉘에도 있도록합니다. 이것이 가장 좋은 방법은 아니지만 꽤 일반적입니다.

21 세기에 우리는 파이썬과 같은 본격적인 언어를 선호하여 쉘 스크립트를 포기해야한다고 믿게합니다. 훨씬 더 예측 가능합니다.

당신은해야합니다

shopt -s expand_aliases

파일에서 당신의 BASH_ENV

나는 비슷한 문제가 있었는데 결국 ~/.bashrc가 필요한 전부라는 것을 알았습니다.

그러나 우분투에서는 처리를 중지하는 줄에 댓글을 달아야했습니다 ~/.bashrc :

If not running interactively, don't do anything
[ -z "$PS1" ] && return
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top