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.