3 votos

"bash: ADVERTENCIA" cada vez que a partir de un terminal

Cada vez que inicio un terminal me sale este mensaje:

bash: warning: here-document at line 119 delimited by end-of-file (wanted `EOF')

Creo que yo había tratado de instalar Haskell pila recientemente y no aparecen para instalar correctamente, esto puede ser donde la advertencia ha surgido a partir de tan sólo se ha de mostrar ya que después de este.

@George cuando se ejecuta el comando de esto es lo que veo en la terminal, esta es la misma línea que he mencionado en el anterior comentario en la repetición.

@John Hola estas son las últimas líneas que surgen cuando se ejecuta :

    r libreoffice loweb lobase localc
++++ /etc/bash_completion.d/libreoffice.sh:110:unset _def _dir _file _nosp _minusdd _minusdf
+++ /usr/share/bash-completion/bash_completion:1984:unset i _blacklist_glob
+++ /usr/share/bash-completion/bash_completion:1987:[[ /usr/share/bash-completion/bash_completion != \/\h\o\m\e\/\p\e\a\k\s/.bash_completion ]]
+++ /usr/share/bash-completion/bash_completion:1987:[[ -r /home/peaks/.bash_completion ]]
+++ /usr/share/bash-completion/bash_completion:1989:unset -f have
+++ /usr/share/bash-completion/bash_completion:1990:unset have
+++ /usr/share/bash-completion/bash_completion:1992:set +v
+++ /usr/share/bash-completion/bash_completion:1993:unset BASH_COMPLETION_ORIGINAL_V_VALUE
bash: warning: here-document at line 119 delimited by end-of-file (wanted `EOF')
++ /home/peaks/.bashrc:119:cat
+ /home/peaks/.profile:20:PATH=/home/peaks/bin:/home/peaks/.local/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

@John1024 Aquí es lo que aparece :

peaks@system64:~$ awk 'NR==119,NR==130' /home/peaks/.bashrc
cat >> ~/.bashrc <<EOF



export PATH="$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$PATH"




export PATH="/home/peaks/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"


peaks@system64:~$

2voto

John1024 Puntos 3801

Paso 1: Síntoma

El síntoma inicial fue el mensaje de error:

bash: warning: here-document at line 119 delimited by end-of-file (wanted `EOF')

Esto nos dice que el problema está en la línea 119 pero por desgracia no nos dice el archivo que se estaba ejecutando cuando se produjo el problema. Dependiendo de la configuración del sistema, un sistema interactivo de bash puede ejecutar cualquiera de un gran número de empresas de seguridad de los archivos.

Paso 2: Diagnóstico

Para averiguar qué líneas de que bash archivos de inicio están causando un problema, se puede ejecutar:

PS4='+ $BASH_SOURCE:$LINENO:' bash -xlic ""

Esto inicia un interactiva (-i) bash de inicio de sesión (-l) de shell en el modo de diagnóstico (-x) y ejecuta un comando vacío (-c ""). El prompt de bash PS4 está configurado para el prefijo de cada línea de salida con el archivo y la línea que la provocó.

Paso 3: Identificar el problema

Ejecutar el anterior comando de diagnóstico, encontramos:

+++ /usr/share/bash-completion/bash_completion:1993:unset BASH_COMPLETION_ORIGINAL_V_VALUE
bash: warning: here-document at line 119 delimited by end-of-file (wanted `EOF')
++ /home/peaks/.bashrc:119:cat
+ /home/peaks/.profile:20:PATH=/home/peaks/bin:/home/peaks/.local/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Esto indica que el aquí-documento problema viene de la línea 119 del archivo /home/peaks/.bashrc

La sección relevante de la .bashrc está:

cat >> ~/.bashrc <<EOF



export PATH="$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$PATH"




export PATH="/home/peaks/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

Línea 119 cat >> ~/.bashrc <<EOF es un problema. Intenta modificar el .bashrc de archivo de un archivo mientras se está ejecutando. En este caso, tuvo el efecto de agregar una nueva PATHde definiciones sobre el final de la .bashrc. Al parecer, el archivo terminó con un número lo suficientemente grande de tal instrucciones de PATHde acceso a retrasar significativamente bash de inicialización.

Paso 4: Remedio

El problema podría ser solucionado mediante la apertura de un editor y la eliminación de las líneas no deseadas. Linux ofrece una selección de los editores. El editor de vi está garantizado para estar presente en sistemas POSIX, pero tiene una curva de aprendizaje empinada. nano está ampliamente disponible y es bueno para los principiantes porque es fácil de usar. Entonces, para solucionar el problema, podemos ejecutar:

nano ~/.bashrc

Y, a continuación, vaya al problema de las líneas y eliminar y guardar el archivo.

Alternativamente, se puede evitar el tener que aprender un nuevo editor ejecutando el siguiente comando:

sed -i.bak '119d; 130,$d' ~/.bashrc

Este comando actualiza ~/.bashrc en su lugar, la eliminación de la línea 119 y la eliminación de la línea 130 al final del archivo. Para la seguridad, una copia de seguridad del original ~/bashrc se guarda como ~/.bashrc.bak.

1voto

George Puntos 628

Su .bashrc archivo está fuera de lo que puedo ver, por favor, ejecute los siguientes comandos:

  1. Hacer copia de seguridad:

    cp ~/.bashrc ~/.bashrc.newbak
    
  2. Abrirlo en tu editor favorito y realizar los cambios siguientes en gedit ~/.bashrc y cambiar las siguientes líneas (de 119, creo) :

    1. Su bashrc:

      export PATH="$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$PATH" 
      
      export PATH="/home/peaks/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" 
      
      export PATH="/home/peaks/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
      
    2. Los cambios que se hicieron, Quite todos, pero la última línea de step: 2.1 por encima de:

      export PATH="/home/peaks/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:/home/peaks/bin:/home/peaks/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
      
    3. Guarde y cierre el editor.

  3. Compruebe si el .bashrc está bien:

    source ~/.bashrc
    
  4. Si el paso 3, se devuelve errores de restaurar a partir de copia de seguridad con:

    cat ~/.bashrc.newbak > ~/.bashrc
    

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: