[Ubuntu-BR] Como montar script bash para disparar comando do setserial

Flávio Raphael Barcellos flavio.raphael.barcellos em gmail.com
Sábado Setembro 19 11:34:29 UTC 2009


Petter,

As respostas já foram dadas.

Somente uns detalhes.

Você está usando o sudo para executar o comando como root num terminal
que você abre logo após o boot. Assim, já que a idéia é executar o
comando a cada boot, você pode (talvez deva) colocar a execução do
comando no arquivo "/etc/rc.local".

O arquivo "/etc/rc.local" é executado no final do boot com permissão
de root (todas as scripts de inicialização rodam como root, se desejar
que não seja - ex. inicialização de algum banco de dados - é comum
usar o "su" para trocar o usuário). Normalmente ele é executado antes
do sistema permitir o "login", mas alguns Unix, que paralelizam as
chamdas aos subsistemas da inicialização (para fazer uma inicialização
mais rápida) podem deixar os usuários fazerem login antes do
"rc.local" executar, mas ele será executado, nesses casos, para ter
certeza de que o comando foi executado antes do sistema permitir que
alguém faça "login" deve-se estudar a inicialização e construir um
script para ser chamado na ordem correta (isso varia de Unix para Unix
e entre as distribuições do Linux).

Em sistemas Unix para os scripts poderem ser interpretados pelo shell
e serem executados como um "executável" devem ter um cabeçalho
informando qual o interpretador a ser usado na primeira linha, como se
fosse um comentário só que com um exclamação "#! <caminho para o
programa interpretador". No caso de colocar a chamada para execução do
programa no "/etc/rc.local" não precisará disso pois ele já tem.

Atenção com colocar linhas no "/etc/rc.local", ele costuma ter uma
chamada "exit" no final e se você colocar comando depois disso eles
não serão executados. Outro cuidado é em não colocara comando que não
terminem ou que fiquem esperando ações do usuário (lembre-se que os
scripts de inicialização não são interativos) seu processo ficará
esperando o I/O e não terminará.

Também é interessante, se seu programa retornar alguma saída para
tela, a mesma ser redirecionada para algum arquivo, mesmo que seja o
"/dev/null". Em alguns sistemas os scripts de inicialização não são
vinculados a terminais e sua saída não será visualizada salvo se forem
para algum arquivo ou explicitamente direcionadas para a console.

Espero ter ajudado.

Saudações,

Flávio
-- 
Quidquid latine dictum sit, altum sonatur.
_
(o-           Flavio Raphael Barcellos
//\       .    flavio.raphael.barcellos em gmail.com
V_/_  ..:   http://www.flickr.com/fbarcellos
  (Tudo que é dito em latim soa mais profundo.)




More information about the ubuntu-br mailing list