O agrupamento de comandos

Fevereiro 2017

Introdução


As chaves e os parênteses permitem o agrupamento de comandos.
Com as chaves, os comandos são executáveis pelo shell corrente, enquanto que com os parênteses eles são executados por um só sub-shell, chamado também shell filho (fork).

Sintaxe

  • Execução pelo shell corrente
    • {comando ; comando ;comando;}
  • Execução por um sub-shell
    • (comando; comando; comando;...)

Notas :
  • Um separador ";" (ponto e vírgula ) é necessário diante da aspa que fecha se esta se encontra na mesma linha que o último comando. Isto não acontece para os parênteses.
  • O separador do comando pode ser o "Salto de linha" (LF para Line Feed)
  • O código retorno de um bloco de comando é aquele do último comando executado.

Utilização


O agrupamento de comandos serve principalmente para :
  • Redirecionar um conjunto de comandos para (ou desde) um mesmo arquivo
  • Executar um conjunto de comandos em plano de fundo
  • Condicionar a execução de um conjunto de comandos

Exemplo


Eis um exemplo que eu espero ajudará melhor cernir o emprego das chaves e dos parênteses :
#! /bin/bash  

echo -e "#############################"  
echo -e "# Utilização das chaves #"  
echo -e "#############################"  

echo -e "\nDiretório corrente : \c"  
pwd  
echo -e "Inicialização da variável \"v\" :\nv=\"abc\""  
v="abc"  
echo -e "\nInício do ambiente com chaves...\n"  
{  
echo -e "Reafetar a variável \"v\" :\nv=\"123\""  
v="123"  
echo -e "\nAfixagel da variável \"v\" : \c"  
echo -e "$v"  
echo -e "\nTorca de diretório: "  
echo -e "cd /tmp"  
cd /tmp  
echo -e "\nDiretório corrente : \c"  
pwd  
}  
echo -e "\nFim do ambiente com...\n"  

echo -e "\nDiretório corrente: \c"  
pwd  
echo -e "\nAfixagel da variável \"v\" : \c"  
echo -e "$v"  
echo  

unset v  
cd $HOME  

echo -e "pressiona uma tecla para continuar..."  
read tecla  

echo -e "###############################"  
echo -e "# Utilização dos parênteses #"  
echo -e "###############################"  

echo -e "\nDiretório corrente : \c"  
pwd  
echo -e "Inicialização da variável \"v\" :\nv=\"abc\""  
v="abc"  
echo -e "\nInicio do ambiente com parênteses...\n"  
(  
echo -e "Reafetar a variável \"v\" :\nv=\"123\""  
v="123"  
echo -e "\nAfixagem da  variável \"v\" : \c"  
echo -e "$v"  
echo -e "\nTroca de diretório: "  
echo -e "cd /tmp"  
cd /tmp  
echo -e "\nDiretório corrente: \c"  
pwd  
)  
echo -e "\nFim do ambiente com parênteses...\n"  

echo -e "\nDiretório corrente: \c"  
pwd  
echo -e "\nAfixagem da variável \"v\" : \c"  
echo -e "$v"  
echo  
exit



Tradução feita por Ana Spadari

Veja também

Artigo original publicado por . Tradução feita por ninha25. Última modificação: 27 de abril de 2011 às 05:29 por ninha25.
Este documento, intitulado 'O agrupamento de comandos', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.