Hay un error cada vez que se abre una nueva terminal,
error: "bash: 'exportar: comando no encontrado"
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:
Introduzco el comando:
grep export ~/.bashrc
salida:
Introduzco el comando:
env SHELLOPTS=xtrace \
BASH_XTRACEFD=7 \
PS4='[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> ' \
7> >(grep ‘) bash -l
producción:
Respuesta1
Parece que ha editado su archivo .bashrc.
Puedo replicar este error exactamente si pongo
'‘export'
como última línea en mi .bashrc
Para comprobarlo simplemente ejecute
grep export ~/.bashrc
Si grep
obtiene un resultado como el anterior, edítelo de su archivo ~/.bashrc.
Editar: desde la última edición de tu publicación, puedes ver que tienes 2 líneas que comienzan con 'exportar, eliminarlas ambas de ~/.bashrc.
Respuesta2
Suponiendo que haya copiado y pegado ese comando tal como está, se queja de que ‘export
no se encuentra el comando donde ‘
está el U+2018.comillas simples izquierdascarácter no ASCII (no debe confundirse con el carácter ASCII '
de apóstrofo/comilla simple (U+0027) o ASCII `
de comillas graves/acento grave (U+0060)).
Dado que ese carácter no es especial de ninguna manera bash
, una línea de comando como:
‘export foo=bar’
(donde ’
está U+2019, la comilla simple derecha)
Se interpreta como ejecutar el ‘export
comando con foo=bar’
un argumento. ¿Habías escrito:
'export foo=bar'
en cambio, es decir, con esos U+2018 y U+2019 reemplazados con un apóstrofe ASCII, un carácter que es especial porque bash
es un operador de comillas, que se habría tratado como si ejecutara el export foo=bar
comando sin argumentos. No existe tal comando. Eso tampoco es lo que quieres.
Quieres
export foo=bar
o
'export' 'foo=bar'
Eso es ejecutar el export
comando con un foo=bar
argumento.
Aquí, deberás eliminar ese carácter U+2018 (y posiblemente el carácter U+2019 correspondiente, si lo hubiera) dondequiera que lo hayas insertado en tu ~/.bashrc
o en otro lugar. Dondequiera que haya copiado y pegado ese código, esos caracteres no estaban destinados a ser copiados.
Para saber dónde se introdujo ese comando falso, si no es así ~/.bashrc
(aunque su última edición muestra que sí está en su ~/.bashrc
sitio), puede intentar ejecutar:
env SHELLOPTS=xtrace \
BASH_XTRACEFD=7 \
PS4='[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> ' \
7> >(grep ‘) bash -l
( Sin embargo $PS4
, los shells que se ejecutan como bash-4.4 o posterior lo ignorarían root
, lo que parece ser su caso, por lo que ve ++
en lugar del nombre del archivo y el número de línea).