Pokusil jsem se vytvořit skript pomocí echo
vložení obsahu do souboru namísto jeho otevření pomocí editoru
echo -e "#!/bin/bash n /usr/bin/command args" > .scripts/command
Výstup :
bash:!/bin/bash:událost nenalezena
Toto podivné chování jsem izoloval od třesku.
$ echo !
!
$ echo "!"
bash: !: event not found
$ echo #!
#!
$ echo #!/bin/bash
bash: !/bin/bash: event not found
- Proč to způsobuje třesk?
- Jaké jsou tyto „události“, které bash označuje?
- Jak mohu překonat tento problém a vytisknout „#!/bin/bash“ na obrazovku nebo do svého souboru?
Přijatá odpověď:
Zkuste použít jednoduché uvozovky.
echo -e '#!/bin/bash n /usr/bin/command args' > .scripts/command
echo '#!'
echo '#!/bin/bash'
Problém nastává, protože bash hledá ve své historii !/bin/bash. Použití jednoduchých uvozovek zabrání tomuto chování.