이름을 바꾸고 $PATH에 추가

이름을 바꾸고 $PATH에 추가

bash 터미널의 명령을 사용하여 $PATH에 경로를 추가할 수 있다는 것을 알고 있습니다 PATH=$PATH:foo. 또한 다음 명령을 사용하여 bash에 대한 별칭을 만들 수 있다는 것도 알고 있지만 alias a=b bash에 대한 별칭은 전역 별칭이 아니며 일부 도구에서는 찾을 수 없다는 것을 알고 있습니다. 도구는 검색 경로 종속성의 또 다른 도구일 뿐입니다).

그렇다면 다른 명령줄 도구가 쉽게 찾을 수 있도록 경로에 다른 이름을 가진 항목을 추가하려면 어떻게 해야 합니까? 내 문제에 대해 적어도 세 가지 용도를 생각할 수 있습니다. [g++9는 기본값(대체 업데이트로 해결 가능), Python 3은 2 대신 기본값임]이지만 설치하려고 하면 주요 질문이 나타납니다.바젤리스크bazel은 tensorflow소스 구성을 통해 빌드해야 하므로 bazel기본 디렉토리에 설치한 정보는 다음과 같습니다 bazel.go~/go/bin/bazelisk

답변1

이 작업은 두 단계로 수행할 수 있습니다.

  1. 경로가 "별칭"을 제공하려는 디렉터리로 시작하는지 확인하세요. 예를 들어, 디렉토리 bin/내의 디렉토리를 사용할 수 있습니다 $HOME.
export PATH=$HOME/bin:$PATH
  1. 다음과 같이 별칭을 해당 디렉터리에 배치합니다.심볼릭 링크. 예를 들어 python별칭을 만들려면 python3다음을 실행합니다.
ln -s $(which python3) $HOME/bin/python

노트:

  • 이렇게 할 필요는 없습니다 root.
  • 이 작업을 수행할 때는 주의하세요. ln -s /bin/cat $HOME/bin/ls이웃과 대화하거나 차를 물고기라고 부르는 등 "이상한" 일을 하는 것은 역효과를 낳을 수 있습니다.
  • "별칭" 디렉터리에는 특별한 이름이 필요하지 않습니다. 우리는 여기서 새로운 개념을 고안하는 것이 아니라 $PATH작동 원리를 직접 사용하고 있습니다.
  • "별칭" 디렉토리가 마지막이면 작동하지 않습니다 $PATH. 먼저 있어야 합니다.
  • 잘못된 동작 : 별칭 which을 인쇄하고, 경로 없이 내장된 쉘을 인쇄하며, 심볼릭 링크를 생성할 수 없으면 성공 시 오류 결과를 제공하고, 안정적으로 빈 문자열을 반환하고 종료 상태를 설정합니다 command -v. 쉘 스크립트가 .를 사용하거나 를 사용하여 실패하도록 허용 합니다 . 별칭과 쉘 내장 기능을 사용하면 잘못된 결과가 발생합니다.command -vwhich1if alias=$(which python3) ; then ln -s $alias ~/bin/python ; fiset -e; alias=$(which python3); ln -s $alias ~/bin/pythoncommand -v

관련 정보