DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Executando diversos comandos - Linux Shell Essentials - Parte 5

Veja nesta continuação como executar diversos comandos em uma mesma linha.

            Bem vindo a mais um artigo da série Linux Shell Essentilas, onde tratamos os conhecimentos mais elementares para trabalhar com a Shell do Linux. No último artigo nós aprendemos que todo comando retorna um valor que é armazenado em $?. Agora vamos aprender a executar diversos comandos em uma mesma linha com &&, || e substituição de comandos.

 

Executando diversos comando na mesma linha:

 

            Existem várias maneiras de executar mais de um comando na mesma linha. Existem as maneiras condicionais e não condicionais.

·         ponto-e-vírgula (;): quando colocamos diversos comandos em uma linha separados por ponto e vírgula eles são executados em sequência:

 

$ echo "cria diversos arquivos: ";touch file1 file2 file3; ls file*

cria diversos arquivos:

file1  file2  file3  file4

$

 

·         or curto circuíto ( || ): se o o primeiro comando não é executado com sucesso, então o shell tenta executar comando seguinte:

 

$ rm -f /etc/cron.d || echo "ATENCAO: Nao pude remover arquivo. Erro $?"

rm: impos��vel remover `/etc/cron.d': Permiss��o negada

ATENCAO: Nao pude remover arquivo. Erro 1

 

$ rm -f /etc/cron.d || mail x8ge -s "Nao pude remover arquivo. Erro $?"

 

$ ls $HOME || echo "Nao foi possivel ler os arquivos: $?"

file1  file2  file3  file4

$

 

·         and curto circuíto ( && ): se o primeiro comando é executado com sucesso, então o shell tenta executar o segundo comando.

 

$ ls $HOME && echo "arquivos lidos em $HOME"

file1  file2  file3  file4

arquivos lidos em /home/x8ge

 

$ ls ~root && echo "arquivos lidos em ~root"

ls: /root: Permiss��o negada

$

 

·         Substituição de Comandos: Você pode atribuir um comando a uma variável e utilizar esta variável em linhas de comando e scripts:

 

$ ESTRUTURA=`mkdir -p $HOME/myapp/bin $HOME/myapp/conf $HOME/myapp/help`

$ echo "Criando estrutura de arquivos"; $ESTRUTURA || echo "WARNING: NAO FOI POSS'IVEL CRIAR ESTRUTURA DE DIRETORIOS PARA MYAPP $?"; ls -R myapp/

Criando estrutura de arquivos

myapp/:

bin  conf  help

 

myapp/bin:

 

myapp/conf:

 

myapp/help:

$

 

            Neste exemplo criamos uma variável, ESTRUTURA, que na verdade contém o comando `mkdir -p $HOME/myapp/bin $HOME/myapp/help $HOME/myapp/conf`. A substituição de comandos também pode ser utilizada para gerar argumentos para outro comando:

 

$ wc -c $(ls *.pl)

     117 pingador.pl

     160 usa_ponto.pl

     277 total

$

            Neste exemplo você pode ver o comando pode ser executado dentro de $( ), em $( ls *.pl ). Da mesma maneira que fosse uma variável, mas o valor não é atribuído a nenhuma variável real.

 

            Agora vou me despedindo. No próximo artigo vamos aprender sobre o histórico do shell e suas variáveis de ambiente. Até a próxima.


Ticursos.net - Thiago Glauco
Analista de Sistemas, administrador de redes, Desenvolvedor. Certificação: ITIL Linux+ & LPI Gestor de segurança da informação site: www.ticursos.net. Cursos de C, Perl e Linux
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03