GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo hacer eco de una explosión?

Traté de crear un script por echo 'ing el contenido en un archivo, en lugar de abrirlo con un editor

echo -e "#!/bin/bash n /usr/bin/command args"  > .scripts/command

La salida :

bash:!/bin/bash:evento no encontrado

He aislado este extraño comportamiento hasta el final.

$ echo !
!  

$ echo "!"
bash: !: event not found

$ echo #!
#!

$ echo #!/bin/bash
bash: !/bin/bash: event not found
  • ¿Por qué bang está causando esto?
  • ¿Qué son estos "eventos" a los que se refiere bash?
  • ¿Cómo supero este problema e imprimo "#!/bin/bash" en la pantalla o en mi archivo?

Respuesta aceptada:

Intenta usar comillas simples.

echo -e '#!/bin/bash n /usr/bin/command args'  > .scripts/command

echo '#!'

echo '#!/bin/bash'

El problema ocurre porque bash está buscando en su historial !/bin/bash. El uso de comillas simples evita este comportamiento.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Bash =~ Regex y Https://regex101.com/?

  3. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  4. Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

  5. ¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

Cómo usar el comando echo en Bash Scripts en Linux

¿Por qué /bin/sh apunta a /bin/dash y no a /bin/bash?

fundamentos de grep

Ejecute el comando bash en la canalización de jenkins

cmake --version apunta a /usr/bin/cmake mientras que cmake apunta a /usr/local/bin

Se movió el contenido de /bin a /usr/bin, ¿es posible deshacerlo?