Hay un error cada vez que se abre una nueva terminal,

error: «bash: export: command not found «

Solo copio export all_proxy =» «y exporto ALL_PROXY =» «a la terminal, luego cuando abro una nueva terminal, aparecerá la imagen de la situación.

Esta es la imagen:

ingrese la descripción de la imagen aquí

Introduzco el comando:

grep export ~/.bashrc 

ouput:

ingrese la descripción de la imagen aquí

Ingrese el comando:

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

salida:

ingrese la descripción de la imagen aquí

Comentarios

  • ¿Puede publicar el comando que dio el error y el error en sí? Parece que tienes un carácter delante del comando.
  • @ bu5hman Solo copio export all_proxy = " " y exportar ALL_PROXY = " " a la terminal, luego, cuando abra una nueva terminal, aparecerá la imagen de la situación .
  • ¿Funcionan otros comandos de bash? ¿Hiciste algo en $ PATH en esta o en la sesión de terminal anterior? ¿O editar su perfil de bash?
  • ¿Comillas simples iniciales antes de exportar en .bashrc .bash_profile?
  • @ bu5hman No ' no hago nada en $ PATH, lo primero que ocurre es que reinstalo kali linux, el segundo sigue siendo el caso. El segundo solo copio export all_proxy = " " y exportar ALL_PROXY = " " a la terminal, luego cuando abro una nueva terminal, aparecerá la imagen de la situación.

Responder

Parece que ha editado su archivo .bashrc.

Puedo Repito este error exactamente si pongo

"‘export" 

como última línea en mi .bashrc

Para verificarlo, simplemente ejecute

grep export ~/.bashrc 

Si grep da un resultado como el anterior, edítelo de su archivo ~ / .bashrc.

rom ~ / .bashrc.

Comentarios

  • ¿Qué debo hacer ahora?
  • Aquí ` está una tilde. El OP tenía un carácter en su lugar.
  • @St é phaneChazelas Estuvo de acuerdo en que el comando es sintácticamente incorrecto. Sin embargo, el error de bash parece deberse a las líneas en ~ / .bashrc.
  • Estrictamente hablando, el comando es sintácticamente correcto pero simplemente intenta invocar un comando (‘export) que no se puede encontrar.
  • @St é phaneChazelas De acuerdo. Sintácticamente correcto si está invocando un nuevo comando llamado ‘export, pero incorrecto si está intentando llamar a export. Solíamos llamarlos typo ' s. Un verdadero diablo para sacarlos del papiro.

Respuesta

Suponiendo que hayas copiado y pegado eso comando tal como está, se queja de que el comando ‘export no se encuentra donde ese es el U + 2018 izquierdo comillas simples carácter no ASCII (no confundir con el " apóstrofo / comilla simple (U + 0027) ASCII o carácter de acento grave / acento grave (U + 0060)).

Dado que ese carácter no es especial de ninguna manera para bash, una línea de comando como:

‘export foo=bar’ 

(donde es U + 2019, la comilla simple derecha)

Se interpreta como ejecutar el comando ‘export con foo=bar’ como argumento. Si hubiera escrito:

"export foo=bar" 

en su lugar, es decir, con esos U + 2018 y U + 2019 reemplazados por apóstrofo ASCII, un carácter que es especial para bash ya que «es un operador de comillas, que se habría tratado como si se estuviera ejecutando el comando export foo=bar sin argumento. No existe tal comando. Eso no es lo que quieras.

Quieres

export foo=bar 

o

"export" "foo=bar" 

Eso es para ejecutar el comando export con un foo=bar argumento.

Aquí, necesitará para eliminar ese carácter U + 2018 (y posiblemente el carácter U + 2019 correspondiente, si lo hubiera) donde sea que lo haya insertado en su ~/.bashrc o en cualquier otro lugar. , esos caracteres no estaban destinados a ser copiados.

Para encontrar dónde se introdujo ese comando falso si no está en ~/.bashrc (aunque su última edición muestra que está en su ~/.bashrc de hecho), podría intentar ejecutar:

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

(el $PS4 sería ignorado por los shells en ejecución como root con bash-4.4 o más reciente, sin embargo, que parece ser su caso, por lo que ve ++ en lugar del nombre del archivo y número de línea).

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *