Há um erro toda vez que um novo terminal é aberto,

erro: “bash: export: command not found “

Eu apenas copio export all_proxy =” “e exporto ALL_PROXY =” “para o terminal, então quando eu abrir um novo terminal, na imagem da situação aparecerá.

Esta é a imagem:

insira a descrição da imagem aqui

Eu insiro o comando:

grep export ~/.bashrc 

ouput:

insira a descrição da imagem aqui

Eu insiro o comando:

env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l 

output:

insira a descrição da imagem aqui

Comentários

  • Você pode postar o comando que deu o erro, bem como o próprio erro. Parece que você tem um caractere na frente do comando.
  • @ bu5hman Eu apenas copio export all_proxy = " " e exportar ALL_PROXY = " " para o terminal, então quando eu abrir um novo terminal, na imagem da situação aparecerá .
  • Os outros comandos bash funcionam? Você fez algo em $ PATH nesta ou na sessão de terminal anterior? Ou editar seu perfil bash?
  • aspas simples antes de exportar em .bashrc .bash_profile?
  • @ bu5hman eu não ' não faço nada em $ PATH, primeiro eu reinstalo o kali linux, a segunda ainda é o caso. A segunda, copio apenas export all_proxy = " " e exportar ALL_PROXY = " " para o terminal, então quando eu abrir um novo terminal, aparecerá a imagem da situação.

Resposta

Parece que você editou seu arquivo .bashrc.

Posso replicar este erro exatamente se eu colocar

"‘export" 

como a última linha em meu .bashrc

Para verificar, basta executar

grep export ~/.bashrc 

Se grep fornecer uma saída como a acima, edite-a de seu arquivo ~ / .bashrc.

Editar: em sua última edição de postagem, você pode ver que tem 2 linhas começando com “exportar exclua as duas rom ~ / .bashrc.

Comentários

  • Agora, o que devo fazer?
  • Aqui ` está um backtick. O OP tinha um caractere em vez disso.
  • @St é phaneChazelas Concordou que o comando está sintaticamente errado. O erro bash, entretanto, parece ser devido às linhas em ~ / .bashrc.
  • Estritamente falando, o comando está sintaticamente correto, mas apenas tenta invocar um comando (‘export) que não pode ser encontrado.
  • @St é phaneChazelas Concordo. Sintaticamente correto se você estiver invocando um novo comando chamado ‘export, mas incorreto se você estiver tentando chamar export. Costumávamos chamá-los de typo ' s. Um verdadeiro demônio para tirá-los do papiro.

Resposta

Presumindo que você copiou e colou isso comando como está, ele “está reclamando do ‘export comando não sendo encontrado onde é o U + 2018 restante aspas simples caractere não ASCII (não deve ser confundido com o ASCII " apóstrofo / aspas simples (U + 0027) ou ASCII ` crase / acento grave (U + 0060) caractere).

Uma vez que esse caractere não é especial de forma alguma para bash, uma linha de comando como:

‘export foo=bar’ 

(onde é U + 2019, a aspa simples certa)

É interpretado como executando o comando ‘export com foo=bar’ como argumento. Você escreveu:

"export foo=bar" 

em vez disso, ou seja, com aqueles U + 2018 e U + 2019 substituídos por apóstrofo ASCII, um caractere que é especial para bash visto que é “um operador de aspas, que seria tratado como executando o comando export foo=bar sem nenhum argumento. Esse comando não existe. Isso não é o que você quer.

Você quer

export foo=bar 

ou

"export" "foo=bar" 

Isso é para executar o comando export com um argumento foo=bar.

Aqui, você precisará para remover esse caractere U + 2018 (e possivelmente o caractere U + 2019 correspondente, se houver) onde quer que você o tenha inserido em seu ~/.bashrc ou em outro lugar. De onde quer que você tenha copiado e colado esse código , esses caracteres não foram feitos para serem copiados.

Para descobrir onde esse comando falso foi introduzido, senão em ~/.bashrc (embora sua última edição mostre que está em ~/.bashrc na verdade), você poderia tentar executar:

env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l 

(o $PS4 seria ignorado pela execução de shells como root com bash-4.4 ou mais recente, porém, o que parece ser o seu caso, é por isso que você vê ++ em vez do nome do arquivo e o número da linha).

Comentários

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *