Como não quero escrever o arquivo manualmente, criei um shell-script. Existe uma maneira de escrever e salvar o arquivo automaticamente sem que o usuário pressione as teclas?
sudo nano blah
#write stuff to file
#save file
#continue
^ Isso estará dentro de um arquivo * .sh
Ou existe outra maneira de criar um arquivo de texto simples em um script?
$echo "Some text" > afile.txt
?Respostas:
Para seqüências de comandos mais complexas, considere usar o
cat
comando com um documento aqui . O formato básico éExistem dois comportamentos sutilmente diferentes, dependendo se o rótulo END_TEXT está entre aspas ou não:
rótulo não citado : o conteúdo é escrito após as expansões usuais do shell
etiqueta entre aspas : o conteúdo do documento aqui é tratado literalmente, sem as expansões usuais do shell
Por exemplo, considere o seguinte script
Os resultados são
e
Se você estiver produzindo comandos shell a partir do seu script, provavelmente desejará o formulário entre aspas.
fonte
END_TEXT
e simplesmente usarCTRL-D
para sinalizar o final da entrada. Ver, por exemplo Como sinalizar o fim da stdin de entradaNão há necessidade de mexer com um editor para fazer isso.
Você pode acrescentar algo a um arquivo com um simples comando de eco. Por exemplo
Anexará "Olá, mundo" ao arquivo
txt
. se o arquivo não existir, ele será criado.Ou se o arquivo já existir e você deseja substituí-lo
Para a primeira linha: e
Para linhas subseqüentes.
No mais simples, o
.sh
script poderia conter apenas um conjunto de comandos de eco.fonte