Auxilio criação de script [RESOLVIDO]

1. Auxilio criação de script [RESOLVIDO]

Gian
GianIlch

(usa Ubuntu)

Enviado em 28/02/2018 - 11:16h

Boa tarde,

Estou tentando criar um pequeno script para configuração do x11vnc em algumas máquinas, porém, não estou conseguindo criar um arquivo e inserir texto nele através do terminal. Detalhe, preciso que o própio terminal através de comando insira automaticamente o texto no arquivo, criei algumas linhas seguintes:

sudo touch /etc/init.d/vnc-server
sudo cat >> /etc/init.d/vnc-server

#!/bin/bash

start() {
echo "Iniciando VNC-Server..."
x11vnc -env FD_XDM=1 -display :0 -forever -rfbauth /root/.vncpasswd &>> /var/log/vnc-server.log &
echo "[OK]"
}
stop() {
echo "Desligando VNC-Server..."
killall x11vnc &>> /var/log/vnc-server.log
echo "[OK"]
}
case "$1" in
start) start
;;
stop) stop
;;
restart) stop; start
;;
*) echo "Uso correto: (start|stop|restart)"
;;
esac

--------

O arquivo vnc-server é criado, porém, não é preenchido com as linhas que necessito!


  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 28/02/2018 - 12:25h

Faça assim:


cat << EOF > arquivo

#!/bin/bash

start() {
echo "Iniciando VNC-Server..."
x11vnc -env FD_XDM=1 -display :0 -forever -rfbauth /root/.vncpasswd &>> /var/log/vnc-server.log &
echo "[OK]"
}
stop() {
echo "Desligando VNC-Server..."
killall x11vnc &>> /var/log/vnc-server.log
echo "[OK"]
}
case "$1" in
start) start
;;
stop) stop
;;
restart) stop; start
;;
*) echo "Uso correto: (start|stop|restart)"
;;
esac
EOF


Acho q é isso q vc quer...

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh

3. Re: Auxilio criação de script [RESOLVIDO]

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

Enviado em 28/02/2018 - 11:30h

quando precisei fazer algo semelhante, fiz da seguinte forma...

um "echo" para cada linha a ser inserida no script...

por exemplo:
sudo echo "#!/bin/bash" > /etc/init.d/vnc-server
sudo echo "start() {" >> /etc/init.d/vnc-server
sudo echo "echo '"'Iniciando VNC-Server...'"'" >> /etc/init.d/vnc-server


lembrando que...:
> sobrepõe o arquivo
>> adiciona ao final do arquivo

É possível que exista alguma forma mais simples de se fazer...
Mas, desconheço..




4. Re: Auxilio criação de script [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 28/02/2018 - 11:39h

Explique melhor o q vc quer inserir no seu arquivo para t ajudar.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


5. Re: Auxilio criação de script [RESOLVIDO]

Gian
GianIlch

(usa Ubuntu)

Enviado em 28/02/2018 - 11:48h

renato_pacheco escreveu:

Explique melhor o q vc quer inserir no seu arquivo para t ajudar.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


Desejo inserior dentro do arquivo vnc-server as seguintes informações:

#!/bin/bash

start() {
echo "Iniciando VNC-Server..."
x11vnc -env FD_XDM=1 -display :0 -forever -rfbauth /root/.vncpasswd &>> /var/log/vnc-server.log &
echo "[OK]"
}
stop() {
echo "Desligando VNC-Server..."
killall x11vnc &>> /var/log/vnc-server.log
echo "[OK"]
}
case "$1" in
start) start
;;
stop) stop
;;
restart) stop; start
;;
*) echo "Uso correto: (start|stop|restart)"
;;
esac

-------------



6. Re: Auxilio criação de script [RESOLVIDO]

Gian
GianIlch

(usa Ubuntu)

Enviado em 28/02/2018 - 15:12h

renato_pacheco escreveu:

Faça assim:


cat << EOF > arquivo

#!/bin/bash

start() {
echo "Iniciando VNC-Server..."
x11vnc -env FD_XDM=1 -display :0 -forever -rfbauth /root/.vncpasswd &>> /var/log/vnc-server.log &
echo "[OK]"
}
stop() {
echo "Desligando VNC-Server..."
killall x11vnc &>> /var/log/vnc-server.log
echo "[OK"]
}
case "$1" in
start) start
;;
stop) stop
;;
restart) stop; start
;;
*) echo "Uso correto: (start|stop|restart)"
;;
esac
EOF


Acho q é isso q vc quer...

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh



Isso mesmo que eu queria, deu tudo certinho! Obrigado amigo!



7. Re: Auxilio criação de script [RESOLVIDO]

Gian
GianIlch

(usa Ubuntu)

Enviado em 28/02/2018 - 15:14h

raserafim escreveu:

quando precisei fazer algo semelhante, fiz da seguinte forma...

um "echo" para cada linha a ser inserida no script...

por exemplo:
sudo echo "#!/bin/bash" > /etc/init.d/vnc-server
sudo echo "start() {" >> /etc/init.d/vnc-server
sudo echo "echo '"'Iniciando VNC-Server...'"'" >> /etc/init.d/vnc-server


lembrando que...:
> sobrepõe o arquivo
>> adiciona ao final do arquivo

É possível que exista alguma forma mais simples de se fazer...
Mas, desconheço..



O seu comando ajudou bastante, porém, o comando repassado pelo Renato Carneiro, obtive um resultado melhor, muito obrigado pela ajuda, Rodrigo.


8. Re: Auxilio criação de script [RESOLVIDO]

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

Enviado em 28/02/2018 - 15:35h

GianIlch escreveu:

O seu comando ajudou bastante, porém, o comando repassado pelo Renato Carneiro, obtive um resultado melhor, muito obrigado pela ajuda, Rodrigo.


pois é, também gostei da solução do colega Renato Carneiro!

só é preciso tomar um cuidado:

a solução que ele sugeriu se fez pelo uso do "descritor de arquivo"...

o "sh" não tem suporte a esse recurso.

assim, se o seu script começar com "#!/bin/sh", não funcionará!

é preciso que comece com "#!/bin/bash" ou outro que possua suporte a esse recurso.

(ou então, não ter nenhuma referência ao interpretador: desde que o padrão do seu sistema não seja o "sh")








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts