Nano - insira o conteúdo, salve e saia

3

Atualmente, estou trabalhando para criar um arquivo de texto de todo o processo de configuração do meu servidor para o meu uso normal.

E gostaria de saber se existe alguma maneira de escrever um script de shell para que eu possa fazer o "nano" inserir o conteúdo, salvá-lo, sair dele e continuar com o resto dos meus comandos.

Porque quando eu coloco tudo isso no script de shell:

sudo nano /etc/apache2/conf-available/fqdn.conf
ServerName localhost
sudo a2enconf fqdn

Em seguida, mostra o editor de arquivos "nano" com este conteúdo:

ServerName localhost
sudo a2enconf fqdn

Bem, embora eu quisesse salvar e sair depois do ServerName localhost , para que meu script pudesse continuar.

Isso seria posibble de qualquer maneira?

    
por Mark Topper 27.07.2014 / 14:06

1 resposta

6

Eu posso ter entendido mal sua pergunta. SHH não existe, você quer dizer SH ou SSH? Ou talvez Bash? (EDIT: trouxe uma edição para corrigir isso)

De qualquer forma, nano não será de muita ajuda aqui. echo será.

echo "ServerName localhost" > /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn

O código shell acima enviará seu texto para o arquivo. Substituir > por >> irá anexá-lo, se for o que você está procurando.

Se você precisar de privilégios de root para gravar nesse arquivo, use tee em vez de um simples redirecionamento de shell ( > / >> ). Isso permitirá que você use sudo corretamente:

echo -e "ServerName localhost" | sudo tee -a /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn

nano está aqui para que você, o usuário, possa gravar dados manualmente em um arquivo. No entanto, se você estiver procurando por um processo automatizado, não há necessidade de um editor, o coreutils pode lidar com isso muito bem. O Linux não precisa da interface fantasia nano para gravar em um arquivo.

    
por John WH Smith 27.07.2014 / 14:11

Tags