모든 디렉토리에서 쉘 스크립트를 실행하는 방법

모든 디렉토리에서 쉘 스크립트를 실행하는 방법

.sh홈 디렉토리에서 바로 실행할 수 있는 확장자를 사용하여 홈 디렉토리에 간단한 스크립트를 작성했지만 현재 있는 모든 디렉토리에서 스크립트를 실행하고 싶습니다. 어떻게 해야 합니까?

답변1

대화형 방식으로 언제든지 명령줄에 입력하여 스크립트를 실행할 수 있지만 ~/yourscript.sh이는 매우 제한적입니다. 특히 이미 작성한 스크립트를 호출하는 스크립트를 더 많이 작성하려는 경우에는 더욱 그렇습니다.

보다 통합되고 유연한 접근 방식은 모든 스크립트를 하나의 디렉터리에 넣고 해당 디렉터리를 PATH환경 변수에 추가하는 것입니다.

그런 다음 를 입력할 수 있으며 yourscript.sh, 어떤 디렉토리에 있든 쉘이 스크립트를 찾아 실행합니다.

일반적으로 수행되는 방법은 다음과 같습니다.

  1. bin홈 디렉토리 아래에 디렉토리를 만들고 mv그 안에 스크립트를 넣으세요.
  2. 모든 스크립트를 실행 가능( chmod +x)으로 변경합니다.
  3. PATH환경 변수 에 디렉터리가 포함되어 있는지 확인하세요 $HOME/bin. 일부 시스템에서는 기본값이 자동 으로 디렉터리를 ~/.profile추가하므로 수정하기 전에 확인하세요 .$HOME/binPATH~/.profile

몇 가지 스크립트를 사용하여 설명하겠습니다.

mkdir ~/bin
mv ~/*.sh ~/bin
chmod +x ~/bin/*
if ! grep 'PATH=.*HOME/bin' ~/.profile
then
    echo 'export PATH="$HOME/bin:$PATH"' >> ~/.profile
fi
. ~/.profile
echo "$PATH"      # you should see your bin directory
cd /tmp           # change to another random directory
type myscript.sh  # see if the shell finds your scripts

bin에 디렉터리가 표시되면 로그아웃했다가 다시 로그인한 다음 다른 디렉터리로 변경하고 다시 실행하여 모든 것이 올바르게 설정되었는지 확인하는 것이 PATH좋습니다 .type yourscript.sh

관련 정보