O terminal não encontrou nenhum comando!

2

Eu estava instalando a versão mais recente do perl usando brew no meu Mac OSX e, em seguida, fui solicitado pelo perl para usar o local :: lib para criar meu próprio diretório de pacotes Perl baixados do CPAN. Aqui está um histórico dos meus comandos:

  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

Eu tentei executar o meu script perl, mas recebi este erro:

Can't locate getopts.pl in @INC

Então eu instalei o Getopt :: Std, que substituiu o getopt.pl

sudo cpan> install Perl4::CoreLibs

O script em perl funcionou bem. No entanto, só funcionou no terminal onde fiz todas as instalações acima. Eu então tentei chamar outras variáveis de ambiente como 'python' ou 'open-a TextEdit ~ / .bash_profile' para ver se elas poderiam ser executadas, mas recebo:

-bash: command: command not found

Eu tentei procurar pelo arquivo bash_profile e parece que não encontrei isso em lugar algum, talvez ele tenha sido excluído quando esse novo diretório foi criado? Quando eu tento procurar a variável path eu entendo isso, só não sei como interpretar:

    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;

Além disso, quando abro um novo terminal, recebo esta mensagem:

-bash: perl: command not found

Isso me leva a acreditar que a instalação do perl que eu fiz está me dando esse problema de não poder chamar nenhuma variável de ambiente do shell. Alguma ajuda com isso?

Muitos agradecimentos

    
por Labrat 12.08.2016 / 18:55

1 resposta

0

O comando que você postou parece correto, mas evidentemente o que acabou no seu .bash_profile não está correto. A variável PATH contém a lista de diretórios onde o shell e outros programas procuram comandos. Essa lista é representada com os itens unidos por dois pontos ( : ). Por exemplo, um PATH simples seria /usr/local/bin:/usr/bin:/bin , definido com o comando shell

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

e, em seguida, quando você digitar o comando ls , o shell procurará /usr/local/bin/ls , em seguida, /usr/bin/ls e /bin/ls , e executará o primeiro que encontrar.

No seu caso, o conteúdo da variável é instruções para definir a variável, em vez da lista real de diretórios. Como a lista de diretórios não contém nenhum dos diretórios padrão, seu shell não encontra nenhum comando, exceto os poucos internos.

Edite o arquivo ~/.bash_profile e remova as configurações PATH inválidas e abra um novo terminal. Você pode colocar # no início de uma linha para comentá-la. Se você quiser editar o arquivo de um terminal, defina primeiro um PATH sensato, por ex. o acima (quando você executa isso na linha de comando, ele só tem efeito dentro desse terminal).

Se você não tem certeza do que é bom e do que não é, edite sua pergunta e copie e cole o conteúdo de ~/.bash_profile .

    
por 14.08.2016 / 01:58