배쉬, 항상 경로의 일부로 $ PWD를 확인? 사용하고 다른 명령을

배경 : Linux 배경에서 온 동료 중 한 명이 나에게 ./명령을 사용하고 다른 명령을 사용하지 않는 방법에 대해 물었 으므로 PATH작동 방식과 바이너리 실행 방법 을 그에게 설명했습니다 . 그의 대답은 멍청하다는 것이며, ./명령 전에 입력 할 필요가 없었습니다 .

질문 : $PWD항상 첫 번째 항목 인 쉘의 동작을 쉽게 수정할 수있는 방법이 PATH있습니까?



답변

정말로 원한다면 .경로 앞에 추가 하여이 작업을 수행 할 수 있습니다 .

export PATH=".:$PATH"

그러나 이것은 쉘이 현재 디렉토리의 명령을 다른 디렉토리보다 우선적으로 선택한다는 것을 의미하기 때문에 나쁜 생각입니다. 누군가 (또는 일부 프로그램)가 ls자주 사용하는 디렉토리에 악성 명령을 드롭하면 문제가 생길 수 있습니다.


답변

이것은 귀하의 질문에 대한 직접적인 대답은 아니지만 bin홈 디렉토리에 다음과 같이 디렉토리 를 작성하는 것이 가장 좋습니다 /home/user/bin.

mkdir -p "$HOME/bin"
echo 'PATH="$HOME/bin:$PATH"' >> "$HOME/.bashrc"
source "$HOME/.bashrc"

거기에 당신의 개인 대본을 넣으십시오. 는 PATH당신이 그것을 정의하고없이 귀하의 개인 스크립트를 실행 순서대로 통과 될 .필요가 있었다.


답변

이 있어야합니다. PATH 변수의 시작 부분에서 :

export PATH=".:$PATH"


답변