기본 $ PATH 값은 무엇입니까?


답변:


18

기본 Ubuntu 데스크탑 설치 $PATH는 다음과 같습니다.

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

그러나 만든 최소한의 chroot 환경에서 debootstrap, $PATH만 포함

# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin

4

환경 경로 값은 우분투의 .bashrc 파일에 저장됩니다 .

시스템 전체의 PATH 변수는 /etc/environment


3

쉘에 내장 된 경로가 있습니다.

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

그런 다음 우분투의 기본 경로는 다음과 같습니다.

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

3

쉽게 찾을 수있는 방법이 있습니다.

printenv

또는 더 직접적으로 :

echo $PATH

그러나 간단한 정보를 찾고 있다면 우분투는 일반적으로 경로를 다음과 같이 설정합니다.

/ usr / local / sbin : / usr / local / bin : / usr / sbin : / usr / bin : / sbin : / bin : / usr / bin / X11 : / usr / games :

이와 같은 질문에 대해서는 대개 성서 를 읽으면 대답을 파헤칠 수 있습니다 .


2

사용하는 Linux에 따라 다를 수 있습니다. Linux에 이미 로그인 한 경우 환경 변수를 보려면 'env'를 입력하십시오.

PATH env 변수가 어떻게 빌드되는지 알고 싶다면 홈 디렉토리에서 .bashrc 및 .bash_profile을 살펴보십시오. 더 궁금하면 / etc / profile, /etc/profile.d / * (있는 경우) 및 bash (man bash) 매뉴얼을 참조하십시오.


2

bash설정합니다 PATH이 환경에 설정되어 있지 않은 경우 하드 코딩 된 기본값 :

$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.

strings유틸리티를 사용하여이 값이 실제로 하드 코딩되어 있고 환경 또는 일부 파일에서 읽지 않았는지 확인할 수 있습니다 .

$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.

그러나 아치 리눅스 컴퓨터에서 다른 결과를 얻습니다.

$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin

따라서 bash바이너리가 빌드 될 때이 기본값이 선택되는 것 같습니다 . 사용중인 Linux 배포판에 따라 다릅니다.


이것은 쉘과 배포판을 언급하는 유일한 대답입니다. 우분투 컨테이너에서 PATH 문제를 정렬하기 때문에 질문에 걸려 넘어졌습니다. "기본 경로"는 셸 (bash, sh 등)과 대화식으로로드되는지 여부 및 로그인 셸인지에 따라 달라집니다. 간단한 대답이 아닙니다. 바이너리에서 하드 코딩 된 문자열에 대한 언급.
init_js

1

기본 경로를 보려면 답변에서 언급 한 것을 사용하십시오.

echo $PATH

편집을 사용하려면 :

gedit ~/.bashrc

이 기본 PATH변수는 아래에 정의되어 /etc/enviroment있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.