대화형 사용을 위해서만 디렉토리 아래의 명령을 사용하시겠습니까?

대화형 사용을 위해서만 디렉토리 아래의 명령을 사용하시겠습니까?

나는 .bin/$HOME여기에는 일반 명령의 일부 보강된 버전이 포함되어 있습니다. 따라서 나는 이러한 명령을 스크립트에서 사용하지 않고 대화식 사용에만 사용하기를 원합니다.

추가하는 것이 내가 할 수 있는 최선인가

for f in ~/bin/*
do
    alias "$(basename $f)"="$f"
done

나에게 ~/.bash_profile? 아니면 다른 해결책이 있나요?

답변1

또한 대화형 셸에 있는 경우 .bashrc에만 설정하는 다음 과 같은 행을 에 추가할 수 있습니다 .PATH

if [ "$PS1" ]
then
    export PATH=~/bin:$PATH
fi

답변2

환경 모듈을 사용하여 원하는 경로를 설정하는 모듈을 수동으로 활성화(로드)할 수 있습니다.

module load homebin

homebin 모듈의 모습

#%Module1.0
prepend-path PATH ~/bin

http://modules.sourceforge.net

답변3

이는 사용 중인 쉘과 (불행히도) 어떤 시스템에 따라 다릅니다. 예를 들어 Bash는 대화형 쉘로 사용되는지 비대화형 쉘로 사용되는지에 따라 다른 시작 파일을 사용합니다.배쉬 매뉴얼.

export PATH=$HOME/bin:$PATH원칙적으로 파일 에 추가할 수 있어야 하며 ~/.bashrc, 이는 로그인이 아닌 대화형 쉘에 대해서만 실행됩니다. 실제로 일부 시스템은 ~/.bashrc비대화형 쉘에 대해서도 읽도록 구성됩니다.

관련 질문:

관련 정보