Bash Como executar um comando em uma variável?

Bash How Execute Command Variable



Os scripts Bash podem ser criados de várias maneiras diferentes e a maioria de nós está familiarizada com a execução de comandos simples em um script Bash. No entanto, esses comandos também podem ser encapsulados nas variáveis ​​no Bash. Este processo é conhecido como substituição de comando e é geralmente usado para armazenar a saída de um comando em uma variável para que você não tenha que executar esse comando explicitamente repetidas vezes, ao invés disso, você pode simplesmente acessar essa variável para obter a saída desse comando quando você quiser. Neste artigo, mostraremos como isso pode ser feito.

Nota: Todos os cenários demonstrados abaixo foram executados no Ubuntu 20.04. No entanto, eles funcionarão exatamente da mesma maneira com qualquer outro tipo de Linux também.







Método de execução de um comando em uma variável no Bash:

Para demonstrar o método de execução de um comando em uma variável no Bash, apresentaremos a você três cenários diferentes, que são os seguintes:



Executando o comando echo armazenado em uma variável:

Este é o cenário mais simples em que nosso objetivo é executar o comando echo que está armazenado em uma variável. Para que isso aconteça, você terá que seguir a série de etapas mencionadas a seguir:



Etapa 1: Criando um script Bash:

Você tem que criar um Bash Script em sua pasta Home para o qual você precisa clicar no ícone do Gerenciador de Arquivos, como você pode ver na imagem a seguir:





Agora encontre qualquer espaço em sua pasta Home e clique com o botão direito nele para abrir um menu. Selecione a opção Novo documento neste menu e, a seguir, escolha a opção Documento vazio no menu secundário em cascata. Isso criará um novo documento em sua pasta pessoal. Agora renomeie este documento recém-criado com qualquer nome de sua escolha seguido pela extensão .sh. Em nosso caso, nós o chamamos de CommandVar.sh.



Para escrever um script Bash neste arquivo, clique duas vezes nele para abri-lo e digite o script mostrado na imagem abaixo em seu arquivo Bash. Aqui, a primeira linha do script, ou seja, #! / Bin / bash mostra que esse arquivo é na verdade um arquivo Bash. Em seguida, criamos uma variável chamada test e atribuímos a ela o valor $ (echo Hi there!). Sempre que quiser armazenar o comando em uma variável, você deve digitar aquele comando precedido por um símbolo $. Nesse caso, queríamos armazenar o comando echo na variável de teste, então simplesmente digitamos o comando echo seguido por uma mensagem aleatória e o colocamos entre colchetes e colocamos um símbolo $ antes dele. Então agora, se quisermos executar este comando echo, teremos que acessar a variável de teste. Portanto, para verificar se o comando echo armazenado na variável de teste pode ser executado com sucesso ou não, imprimimos a saída da variável de teste no terminal usando outro comando echo. Depois de digitar este script, você precisa salvar seu arquivo e fechá-lo.

Etapa 2: Executar o script Bash por meio do terminal:

Agora você deve executar este script por meio do terminal. Portanto, abra o terminal no Ubuntu 20.04 e digite o seguinte comando nele:

bashCommandVar.sh

Ao pressionar a tecla Enter para executar este comando, você poderá ver a seguinte saída em seu terminal. Aqui, a parte destacada da saída é a saída do comando echo que foi armazenado na variável de teste.

Executando o Comando seq Armazenado em uma Variável:

Neste cenário, imprimiremos uma sequência de números usando o comando seq armazenado em uma variável. Para fazer com que isso aconteça, modificaremos o script Bash criado acima executando as seguintes etapas:

Etapa 1: Modificando o script Bash criado acima:

Abra o arquivo Bash que você criou no método acima e digite o seguinte script nele. Aqui, criamos uma variável chamada seqüência. Nosso objetivo é imprimir os números de 1 a 10 enquanto usamos o comando seq. Para fazer isso, atribuímos o valor $ (seq 1 10) à variável de sequência. Você também pode especificar qualquer outro intervalo de números de sua escolha, se desejar. O primeiro número após o comando seq indica o limite inferior da seqüência, enquanto o segundo número se refere ao limite superior. Após digitar este script, salve seu arquivo e feche-o.

Etapa 2: Executar o script Bash modificado por meio do terminal:

Agora execute seu script Bash da mesma maneira explicada acima e você poderá ver a sequência especificada em seu terminal, conforme mostrado na imagem abaixo:

Executando o comando 'pwd' armazenado em uma variável:

Você também pode imprimir seu diretório de trabalho usando o comando pwd armazenado em uma variável. Para demonstrar isso, modificaremos o script Bash criado acima mais uma vez, seguindo as etapas mencionadas abaixo:

Etapa 1: Modificando o script Bash criado acima:

Abra o arquivo Bash que você acabou de modificar e digite o script mostrado na imagem a seguir nele. Neste script, criamos uma variável chamada working_directory e atribuímos a ela o valor $ (pwd). O comando pwd simplesmente armazenará sua saída, ou seja, o diretório de trabalho atual na variável working_directory. Para garantir se o comando pwd foi executado corretamente ou não, imprimimos o valor da variável working_directory no terminal usando o comando echo. Agora salve este arquivo e feche-o após digitar o script Bash modificado nele.

Etapa 2: Executar o script Bash modificado por meio do terminal:

Agora execute este script Bash da mesma maneira explicada acima. A saída desse script Bash mostrará o diretório de trabalho atual. A parte destacada da saída é, na verdade, a saída do comando pwd.

Conclusão:

Este artigo dá uma boa ideia de como você pode executar um comando armazenado em uma variável no Bash e pode obter a mesma saída que você teria obtido se executasse o comando independentemente.