echo $(hostname)
não funciona, como você já percebeu, já que o comando é expandido. Use aspas simples '
para impedir a expansão do comando:
echo '$(hostname)'
Estou tentando criar e gravar dinamicamente em um arquivo um script bash de um script bash atual.
echo "## Get the IP of the system that was assigned
#!/bin/bash
ip=$( hostname -i | xargs )
echo $ip " > second_script.sh
ecoa as linhas que estão sendo executadas, para que eu acabe com as variáveis expandidas / avaliadas em second_script.sh.
## Get the IP of the system that was assigned
#!/bin/bash
ip=10.0.2.15
...
Como posso escrever os comandos do script bash shell e suprimir a avaliação, e ser capaz de executar o script mais tarde?
Tags bash shell-script