다음과 같은 파일을 실행하는 방법을 알고 싶습니다.
내 경로에 두 개의 파일이 있습니다.
/home/example/folder1/filewithname.sh
/home/example/folder2/filewithname.sh
둘 다 PATH에 추가했습니다 . 내가 말하는 내용을 folders
어떻게 지정합니까 ?filewithname.sh
미리 감사드립니다!
답변1
에 나열된 디렉토리에서 PATH
변수가 검색됩니다.나열된 순서대로. 주어진 명령이 발견되면 검색이 종료됩니다.
이는 표시된 순서( folder1
이전)로 두 개의 디렉토리를 추가한 경우 명령줄에서 방금 말한 경우 folder2
from 명령이 사용된다는 의미입니다. 이것 folder1
filewithname.sh
folder1
. 이 명령의 변형그림자.folder2
명령의 다른 변형을 원하는 경우 /home/example/folder2/filewithname.sh
해당 경로(예: as)를 사용하거나 일부 동등한 경로 이름을 통해 명령에 액세스해야 합니다.
디렉토리가 나열되는 순서에 대해 걱정할 필요가 없도록 각 명령에 대한 별칭을 만들 수도 있습니다 $PATH
. 예를 들어,
alias c1=/home/example/folder1/filewithname.sh
alias c2=/home/example/folder2/filewithname.sh
이렇게 하면 두 스크립트를 모두 사용 c1
하고 c2
실행할 수 있습니다.
이러한 별칭 정의를 셸의 초기화 파일에 배치할 수 있습니다( 예 를 ~/.bashrc
들어 .bash
${ZDOTDIR:-$HOME}/.zshrc
zsh
답변2
전체 경로를 기준으로 이러한 파일을 개별적으로 실행할 수 있습니다.
$ /home/example/folder1/filewithname.sh
$ /home/example/folder2/filewithname.sh
또는 개별 파일의 디렉터리로 변경하고 상대 경로를 기반으로 실행할 수 있습니다. 예를 들어:
cd /home/example/folder1
~/example/folder1$ ./filewithname.sh
cd /home/example/folder2
~/example/folder2$ ./filewithname.sh
이 방식으로 파일을 실행하려면 파일에 실행 비트를 설정해야 합니다.