OS X-개인 bin 디렉토리 (~ / bin)를 작성하고 전체 경로를 지정하지 않고 스크립트를 실행하십시오.


19

그래서 내가하려고하는 것은 bin내 홈 폴더에 개인 디렉토리 를 만드는 것 입니다. 다음 폴더를 만들었습니다.

/Users/thi/bin

스크립트를이 폴더에 넣었지만 터미널에 입력하면 :

myScript

실행되지 않습니다.

이 bin 경로,와 관련된 것을 내 보내야한다는 말 echo $PATH을 들었지만 어떻게 해야할지 모르겠습니다.


답변:


20

파일에 다음을 추가해야합니다 ~/.profile.

export PATH=/Users/thi/bin:$PATH

그때 source ~/.profile

이 파일을 작성해야 할 수도 있으며 파일로 시작하기 때문에 .텍스트 편집기와 같은 응용 프로그램을 통해 편집하기 위해 파인더에 표시되지 않을 수도 있습니다. 숨겨진 파일을 포함하여 모든 파일을 나열하려면 다음을 사용하십시오.

ls -la ~/

export PATH = / Users / thi / bin : $ PATH를 .bashrc 파일에 추가하면 작동합니까? 맞습니까?
Thi G.

12
$HOME/bin대신에 더 잘 사용하십시오 /Users/thi/bin. 그런 다음 사용자 이름이 다른 다른 컴퓨터로 설정을 복사 할 수 있습니다.
lhf

터미널에 PATH = $ HOME / bin : $ PATH를 입력 한 다음 export PATH를 입력하십시오. 트릭을 수행합니까?
Thi G.

1
그렇게하면 설정이 변경되지만 다음 부팅에서는 변경되지 않습니다. 재부팅 후에도 경로를 변경하려면 해당 명령을 .profile파일 에 포함시켜야 합니다.
다니엘

1
답변 감사합니다. 에 추가 export PATH=$HOME/bin:$PATH했습니다 $HOME/.bash_profile.
Thi G.

10

bash를 사용하는 경우 다음과 같은 줄을 추가하십시오 ~/.bash_profile.

PATH=~/bin:$PATH

PATH기본적으로 내보내기로 표시되어 있으므로를 사용할 필요가 없습니다 export.

두 경우 ~/.bash_profile~/.profile존재, 배쉬는 읽기 ~/.bash_profile가 대화 형 로그인 셸 호출 될 때. ~/.profilebash와 동일한 구성 옵션을 이해하지 못하는 다른 쉘에서도 사용됩니다.

터미널 및 iTerm 2는 기본적으로 새 쉘을 로그인 쉘로 엽니 다. bash가 대화식 로그인 쉘로 호출되면 읽지 ~/.bash_profile만 읽지 않습니다 ~/.bashrc. 다른 플랫폼의 터미널 에뮬레이터는 종종 새 쉘을 비 로그인 쉘로 엽니 다 . 예를 들어 bash reads는 ~/.bashrc그렇지 않습니다 ~/.bash_profile. OS X 사용자는 종종 다른 플랫폼에서 ~/.bash_profile해당하는 개인 구성 파일로 사용 ~/.bashrc하지만 새 쉘을 비 로그인 쉘로 열도록 터미널이나 iTerm 2 ~/.bashrc에서 소스 로 ~/.bash_profile보내거나 지시 하는 것도 일반적 입니다.

/etc/paths또는 에서보다 전역 적으로 경로를 변경할 수도 /etc/launchd.conf있지만 많은 상황에서 경로는 여전히 기본값으로 설정됩니다 /usr/bin:/bin:/usr/sbin:/sbin. 그리고 쉘과 텍스트 편집기에서 경로를 변경하기 만하면됩니다.


대단하다. 에 추가 export PATH=$HOME/bin:$PATH했습니다 $HOME/.bash_profile.
Thi G.

export 또는 일반 할당을 사용할 ~export필요하지 않은 인용 부호가없는) $HOME변수 할당 전에 확장됩니다.
Lri

라 우리 란타, 당신은 무엇을 개인적으로 선호합니까 .bash_profile.profile? 아니면 .bashrc홈 디렉토리에 있습니까?
Thi G.

.bash_profile 만 사용했지만 이제는 .bashrc를 기본 구성 파일로 사용하고 .bash_profile에는 .bash_profile 만 포함되어 있습니다 . ~/.bashrc. 새로운 쉘은 emacs 및 tmux의 쉘 모드에서 비 로그인 쉘로 열립니다. ksh와 같은 다른 쉘에서도 읽으므로 .profile을 기본 구성 파일로 사용하지 않습니다.
Lri

3

일반적으로 같은 이름으로 다른 실행 파일을 대체하지 않으려는 경우 다음 $PATH과 같은 경로를 추가합니다 .PATH=$PATH:/$HOME/bin/bin


4
$HOME/bin그 이유 때문에 당신은 처음에 정확하게 시작할 것이라고 쉽게 주장 할 수 있습니다 . 그러나 중요한 것은 디렉토리의 순서가 $PATH중요하고 쉘이 첫 번째 일치하는 명령을 선택한다는 것입니다. 이것을 지적 해 주셔서 감사합니다.
nohillside
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.