Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

Bash 스크립트를 생성하여 폴더에 저장하면 해당 폴더에 있을 때만 실행할 수 있음을 알 수 있습니다. ls , imagemagick , apachesquid 다른 디렉토리에 설치될 수 있지만 어디에서나 액세스할 수 있습니까? 개별 경로가 "Path" 변수에 추가되었기 때문입니다. 경로를 더 추가하면 어디에서나 스크립트를 실행할 수 있습니다.

Bash에 경로 추가

시작하기 전에 Linux 보안이 작동하는 방식 덕분에 경로를 세 가지 수준으로 조정할 수 있음을 설명해야 합니다. Bash는 그 중 첫 번째입니다. 여기에서 볼 수 있는 모든 것은 Bash와 Bash에서 실행되는 모든 것에 영향을 미치지만 "Bash 외부"에는 영향을 미치지 않습니다.

어디에서나 액세스할 수 있는 폴더에 스크립트 모음이 있다고 가정해 보겠습니다.

Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

이것을 해제하기 위해 "~/.bashrc"에 경로를 추가할 수 있습니다. gedit와 같은 즐겨 사용하는 텍스트 편집기에서 ".bashrc" 파일(홈 디렉토리에 있지만 기본적으로 숨겨져 있음)을 열 수 있습니다.

파일의 맨 끝으로 이동하여 다음을 추가합니다.

export PATH="/path_of/the_folder_we/want_to_add_to:$PATH"
Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

예를 들어 실행 가능한 스크립트를 "/home/myname/scripts" 폴더에 보관하는 경우 명령은 다음과 같습니다.

export PATH="/home/myname/scripts:$PATH"
Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

변경 사항을 등록하려면 파일을 저장하고 텍스트 편집기를 종료한 다음 터미널에 다음을 입력하십시오.

source ~/.bashrc
Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

그런 다음 다른 디렉토리로 이동하여 거기에서 스크립트를 실행해 보십시오.

프로필에 경로 추가

Bash의 제약 조건 외부에서 폴더의 콘텐츠에 액세스할 수 있도록 하려면 대신 프로필 변수에 추가하세요.

좋아하는 텍스트 편집기로 ".profile" 파일을 엽니다.

파일의 맨 끝에 다음을 입력하십시오.

export PATH="$PATH:$HOME/scripts"

변경 사항을 적용하려면 로그아웃했다가 다시 로그인해야 합니다.

Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

Ubuntu 및 파생 제품에서는 ".profile" 대신 ".pam 환경" 파일을 편집하는 것이 좋습니다.

텍스트 편집기에서 ".pam_environment" 파일을 엽니다. 파일이 없으면 생성합니다.

그 안에 다음을 입력하십시오:

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

완전히 하드코딩된 경로 대신 프로필 파일과 달리 여기에서는 변수를 사용합니다. 이렇게 하면 각 사용자의 "/home/USER_NAME/scripts" 폴더가 경로에 추가됩니다.

".profile" 파일을 편집할 때와 마찬가지로 변경 사항을 적용하려면 로그아웃했다가 다시 로그인해야 합니다.

Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

환경에 경로 추가

동일한 컴퓨터를 공유하는 여러 사용자가 폴더의 내용에 액세스할 수 있도록 하는 적절한 방법은 폴더를 환경 경로 변수에 추가하는 것입니다. 터미널을 실행하고 다음을 입력하십시오:

sudo nano /etc/environment

경로 변수에는 다음과 같이 따옴표로 묶인 폴더가 포함되어 있으며 콜론으로 구분됩니다.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"

해당 목록에 자신의 폴더를 포함하려면 마지막 경로 바로 뒤, 닫는 따옴표 앞에 콜론과 폴더 경로를 입력하십시오. 폴더가 다시 "/home/your_username/scripts"인 경우 다음과 같아야 합니다.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/YOUR_USERNAME/scripts"
Linux의 모든 곳에서 스크립트를 실행 가능하게 만드는 방법

대문자로 표시할 필요는 없습니다. 강조를 위해 대문자를 사용하여 폴더를 어디에 어떻게 포함해야 하는지 식별하는 데 도움을 주었습니다.

이전과 마찬가지로 변경 사항을 적용하려면 로그아웃했다가 다시 로그인하세요.

위의 트릭을 사용하면 Linux 어디에서나 스크립트를 실행할 수 있습니다.

관련:

  • Kmdr을 사용하여 터미널에서 명령 설명을 가져오는 방법
  • 명령줄 기록을 검색하는 더 나은 방법
  • Linux 초보자를 위한 기본 Bash 명령