Expansões de Shell no Linux [Guia Básico]

O Linux permite o uso de expansões de Shell, úteis para utilizar a saída de comandos em variáveis. O resultado pode ser usado para um processamento, geralmente em um script de shell.

Os símbolos que permitem a expansão de shell são:

  • $( ) – símbolo de dólar com parênteses.
  • `  `  – crases.
  • ${ } – símbolo de dólar com chaves.

As expansões $( ) e ` ` fazem a mesma coisa. No entanto é recomendável utilizar o $( ) por ser mais legível, e menos suscetível a erros ao se copiar um script.

Para usar a expansão, basta colocar o comando desejado entre os parenteses ou entre as crases.

Expansão de Saída de Comandos $( ) e “

Exemplo de expansão de saída de comandos:

#!/bin/bash
HOJE=$(date "+%d/%m")
ID=`id -un`
echo "Bom dia $ID, hoje é $HOJE"

Ao executar esse pequeno script, pode-se ver que a saída dos comandos date e id foram direcionadas para as variáveis HOJE e ID que puderam ser usadas posteriormente no script:

$ ./expansao 
Bom dia uira, hoje é 12/01

Para usar as expansões de comandos, o comum é usar também uma variável, para guardar o resultado da execução do comado.

Expansão ${ }

A expansão ${ } permite delimitar o nome de uma variável, e até fazer substituições. 

Exemplo:

$ bicho="gato"
$ echo $bicho
gato

Se quiser usar o conteúdo da variável junto com um texto, não dará certo:

$ echo "os $bichos foram passear"
os  foram passear

Para que isto funcione, deve-se usar o nome da variável entre ${ }:

$ echo "os ${bicho}s foram passear"
os gatos foram passear

Também é possível fazer substituições, usando a barra comum “/”, buscando uma ocorrência e substituindo por outra:

$ echo "O ${bicho/gato/cachorro} latiu"
O cachorro latiu

Conclusão

As expansões de shell são poderosas para guardar o resultado de um comando em uma variável. Isto permite que você processe os resultados dos comandos inteligentemente para criar procedimentos ou tratar os dados.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe