터미널에서 명령을 찾을 수 없습니다!

터미널에서 명령을 찾을 수 없습니다!

Mac OSX에 최신 버전의 Perl을 설치하기 위해 Brew를 사용했고, Perl은 CPAN에서 다운로드한 Perl 패키지에 대한 자체 디렉토리를 생성하기 위해 local::lib를 사용하라는 메시지를 표시했습니다. 내 명령의 기록은 다음과 같습니다.

  431  brew install perl
#recommended to do by brew
  432    PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
  433    echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bash_profile
#executing recommendation
  434  sudo   PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
  436  echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bash_profile
  437  perl program.pl

그런 다음 Perl 스크립트를 실행하려고 하는데 다음 오류가 발생합니다.

Can't locate getopts.pl in @INC

그래서 getopt.pl을 대체하는 Getopt::Std를 설치했습니다.

sudo cpan> install Perl4::CoreLibs

그러면 Perl 스크립트가 정상적으로 작동합니다. 하지만 위의 모든 설치를 수행한 터미널에서만 작동합니다. 그런 다음 "python" 또는 "open -a TextEdit ~/.bash_profile"과 같은 다른 환경 변수를 호출하여 실행할 수 있는지 확인하려고 시도했지만 다음과 같은 결과를 얻었습니다.

-bash: command: command not found

bash_profile 파일을 찾아보았지만 어디서도 찾을 수 없는 것 같습니다. 새 디렉토리가 생성될 때 파일이 삭제되었을 수도 있습니다. 경로 변수를 찾으려고 하면 다음과 같은 결과가 나오지만 어떻게 해석해야 할지 모르겠습니다.

    echo PATH=$PATH
PATH="/Users/miseq/perl5/bin${PATH:+:${PATH}}"; export PATH; PERL5LIB="/Users/miseq/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; PERL_LOCAL_LIB_ROOT="/Users/miseq/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT; PERL_MB_OPT="--install_base \"/Users/miseq/perl5\""; export PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/Users/miseq/perl5"; export PERL_MM_OPT;

또한 새 터미널을 열면 다음 메시지가 나타납니다.

-bash: perl: command not found

이로 인해 내가 수행한 Perl 설치로 인해 쉘에서 환경 변수를 호출할 수 없는 문제가 발생했다고 믿게 되었습니다. 도움이 필요하세요?

매우 감사합니다

답변1

게시한 명령은 올바른 것 같지만 최종 결과는 확실히 .bash_profile올바르지 않습니다. 이것경로 변수쉘 및 기타 프로그램 조회 명령이 포함된 디렉토리 목록입니다. 이 목록은 콜론( )으로 결합된 항목으로 표시됩니다 :. 예를 들어 간단한 PATH는 /usr/local/bin:/usr/bin:/bin쉘 명령을 사용하여 설정 됩니다.

PATH=/usr/local/bin:/usr/bin:bin

그런 다음 명령을 입력하면 ls쉘이 먼저 찾은 /usr/local/bin/ls다음 for 를 찾은 /usr/bin/ls다음 /bin/ls찾은 첫 번째 명령을 실행합니다.

귀하의 경우 변수의 내용은 실제 디렉토리 목록이 아니라 변수를 설정하는 지침입니다. 디렉토리 목록에는 표준 디렉토리가 포함되어 있지 않으므로 쉘은 몇 가지 내장 명령을 제외하고는 어떤 명령도 찾을 수 없습니다.

파일을 편집 ~/.bash_profile하고 잘못된 PATH설정을 제거한 다음 새 터미널을 엽니다. 줄의 시작 부분에 넣어서 #주석 처리 할 수 있습니다. 터미널에서 파일을 편집하려면 먼저 PATH위와 같은 합리적인 파일을 설정하십시오(명령줄에서 이 파일을 실행하면 해당 터미널 내에서만 작동합니다).

무엇이 좋고 무엇이 나쁜지 확실하지 않은 경우 질문을 수정하고 내용을 복사하여 붙여넣으세요 ~/.bash_profile.

관련 정보