Bash 스크립트를 생성하여 폴더에 저장하면 해당 폴더에 있을 때만 실행할 수 있음을 알 수 있습니다. ls
, imagemagick
, apache
및 squid
다른 디렉토리에 설치될 수 있지만 어디에서나 액세스할 수 있습니까? 개별 경로가 "Path" 변수에 추가되었기 때문입니다. 경로를 더 추가하면 어디에서나 스크립트를 실행할 수 있습니다.
Bash에 경로 추가
시작하기 전에 Linux 보안이 작동하는 방식 덕분에 경로를 세 가지 수준으로 조정할 수 있음을 설명해야 합니다. Bash는 그 중 첫 번째입니다. 여기에서 볼 수 있는 모든 것은 Bash와 Bash에서 실행되는 모든 것에 영향을 미치지만 "Bash 외부"에는 영향을 미치지 않습니다.
어디에서나 액세스할 수 있는 폴더에 스크립트 모음이 있다고 가정해 보겠습니다.
이것을 해제하기 위해 "~/.bashrc"에 경로를 추가할 수 있습니다. gedit와 같은 즐겨 사용하는 텍스트 편집기에서 ".bashrc" 파일(홈 디렉토리에 있지만 기본적으로 숨겨져 있음)을 열 수 있습니다.
파일의 맨 끝으로 이동하여 다음을 추가합니다.
export PATH="/path_of/the_folder_we/want_to_add_to:$PATH"
예를 들어 실행 가능한 스크립트를 "/home/myname/scripts" 폴더에 보관하는 경우 명령은 다음과 같습니다.
export PATH="/home/myname/scripts:$PATH"
변경 사항을 등록하려면 파일을 저장하고 텍스트 편집기를 종료한 다음 터미널에 다음을 입력하십시오.
source ~/.bashrc
그런 다음 다른 디렉토리로 이동하여 거기에서 스크립트를 실행해 보십시오.
프로필에 경로 추가
Bash의 제약 조건 외부에서 폴더의 콘텐츠에 액세스할 수 있도록 하려면 대신 프로필 변수에 추가하세요.
좋아하는 텍스트 편집기로 ".profile" 파일을 엽니다.
파일의 맨 끝에 다음을 입력하십시오.
export PATH="$PATH:$HOME/scripts"
변경 사항을 적용하려면 로그아웃했다가 다시 로그인해야 합니다.
Ubuntu 및 파생 제품에서는 ".profile" 대신 ".pam 환경" 파일을 편집하는 것이 좋습니다.
텍스트 편집기에서 ".pam_environment" 파일을 엽니다. 파일이 없으면 생성합니다.
그 안에 다음을 입력하십시오:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
완전히 하드코딩된 경로 대신 프로필 파일과 달리 여기에서는 변수를 사용합니다. 이렇게 하면 각 사용자의 "/home/USER_NAME/scripts" 폴더가 경로에 추가됩니다.
".profile" 파일을 편집할 때와 마찬가지로 변경 사항을 적용하려면 로그아웃했다가 다시 로그인해야 합니다.
환경에 경로 추가
동일한 컴퓨터를 공유하는 여러 사용자가 폴더의 내용에 액세스할 수 있도록 하는 적절한 방법은 폴더를 환경 경로 변수에 추가하는 것입니다. 터미널을 실행하고 다음을 입력하십시오:
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 어디에서나 스크립트를 실행할 수 있습니다.
관련:
- Kmdr을 사용하여 터미널에서 명령 설명을 가져오는 방법
- 명령줄 기록을 검색하는 더 나은 방법
- Linux 초보자를 위한 기본 Bash 명령