디렉토리 아래의 명령은 대화형 사용에만 사용됩니까?

디렉토리 아래의 명령은 대화형 사용에만 사용됩니까?

나는 하나를 가지고 있습니다 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

홈빈 모듈은 다음과 같습니다

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

http://modules.sourceforge.net

답변3

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

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

관련 질문:

관련 정보