GNU/Linux >> Linux Esercitazione >  >> Linux

Come fare eco a un botto!?

Ho provato a creare uno script con echo inserire il contenuto in un file, invece di aprirlo con un editor

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

Il output :

bash:!/bin/bash:evento non trovato

Ho isolato questo strano comportamento fino al botto.

$ echo !
!  

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

$ echo #!
#!

$ echo #!/bin/bash
bash: !/bin/bash: event not found
  • Perché il bang sta causando questo?
  • Quali sono questi "eventi" a cui si riferisce bash?
  • Come posso superare questo problema e stampare "#!/bin/bash" sullo schermo o sul mio file?

Risposta accettata:

Prova a usare le virgolette singole.

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

echo '#!'

echo '#!/bin/bash'

Il problema si verifica perché bash sta cercando nella sua cronologia !/bin/bash. L'utilizzo di virgolette singole evita questo comportamento.


Linux
  1. /usr/bin Vs /usr/local/bin Su Linux?

  2. Come causare l'errore "elenco di argomenti troppo lungo"??

  3. Qual è il motivo per cui uno Shebang punta a /bin/sh piuttosto che a /bin/bash?

  4. Linux – Unire /usr/bin e /usr/sbin in /bin (gnu/linux)?

  5. cmake --version punta a /usr/bin/cmake mentre which cmake punta a /usr/local/bin

Come utilizzare il comando echo negli script Bash in Linux

Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

Qual è la differenza tra #!/usr/bin/env bash e #!/usr/bin/bash?

Esegui il comando bash sulla pipeline jenkins

In che modo bash verifica "false"?

Differenza tra /bin e /usr/bin