Bash Como executar um comando em uma variável?
On Novembro 22, 2021 by adminBash scripts podem ser criados de várias maneiras diferentes e a maioria de nós está familiarizada com a execução de comandos simples dentro de um script Bash. No entanto, estes comandos também podem ser encapsulados dentro das variáveis do Bash. Este processo é conhecido como substituição de comandos e é geralmente usado para armazenar a saída de um comando em uma variável para que você não tenha que rodar esse comando explicitamente repetidamente, ao invés disso você pode simplesmente acessar essa variável para obter a saída desse comando sempre que quiser. Neste artigo, vamos mostrar-lhe como isto pode ser feito.
Note: Todos os cenários demonstrados abaixo foram realizados no Ubuntu 20.04. No entanto, eles funcionarão exatamente da mesma forma com qualquer outro sabor do Linux também.
Método de execução de um comando numa variável no Bash:
Para demonstrar o método de execução de um comando numa variável no Bash, iremos apresentar-lhe três cenários diferentes que são os seguintes:
Executar o comando “echo” armazenado numa variável:
Este é o cenário mais simples em que o nosso objectivo é executar o comando echo que está armazenado numa variável. Para que isso aconteça, você terá que seguir a série de passos mencionados abaixo:
Passo # 1: Criando um Bash Script:
Você tem que criar um Bash Script na sua pasta Home para o qual você precisa clicar no ícone do Gerenciador de Arquivos como você pode ver na seguinte imagem:
Agora encontre qualquer espaço na sua pasta Home e clique com o botão direito do mouse sobre ele para iniciar um menu. Selecione a opção Novo Documento neste menu e depois escolha a opção Esvaziar Documento no menu de sub-cascalização. Fazendo isso, criará um novo documento na sua pasta Home. Agora renomeie este documento recém-criado com qualquer nome de sua escolha seguido da extensão .sh. No nosso caso, nós o nomeamos como CommandVar.sh.
Para escrever um script Bash neste arquivo, clique duas vezes sobre ele para abri-lo e então digite o script mostrado na imagem abaixo no seu arquivo Bash. Aqui, a primeira linha do script i.e. “#!/bin/bash” mostra que este ficheiro é, de facto, um ficheiro Bash. Depois criámos uma variável chamada “test” e atribuímos-lhe o valor “$(echo “Olá!”)”. Sempre que você quiser armazenar o comando em uma variável, você tem que digitar esse comando precedido pelo símbolo “$”. Neste caso, queríamos guardar o comando “echo” na variável “test”, por isso escrevemos simplesmente o comando “echo” seguido de uma mensagem aleatória e inserimo-lo entre parênteses, e colocámos um símbolo “$” antes dele. Então agora, se quisermos executar este comando “echo”, teremos de aceder à variável “test”. Portanto, para verificar se o comando “echo” armazenado na variável “test” pode ou não ser executado com sucesso, imprimimos a saída da variável “test” no terminal, fazendo uso de outro comando “echo”. Após digitar este script, você precisa salvar seu arquivo e fechá-lo.
Passo # 2: Executando o Bash Script via Terminal:
Agora você tem que executar este script via terminal. Então, abra o terminal no Ubuntu 20.04 e digite o seguinte comando nele:
Quando você pressionar a tecla Enter para executar este comando, você será capaz de ver a seguinte saída no seu terminal. Aqui, a parte destacada da saída é a saída do comando “echo” que foi armazenada na variável “test”.
Executar o comando “seq” armazenado em uma variável:
Neste cenário, iremos imprimir uma sequência de números usando o comando “seq” armazenado em uma variável. Para que isso aconteça, vamos modificar o script Bash criado acima executando os seguintes passos:
Passo # 1: Modificando o script Bash Criado acima:
Abrir o arquivo Bash que você criou no método acima e digitar o seguinte script no mesmo. Aqui, nós criamos uma variável chamada “sequence”. O nosso objectivo é imprimir os números de 1 a 10 enquanto usa o comando “seq”. Para fazer isso, atribuímos o valor “$(seq 1 10)” à variável “sequence”. Você também pode especificar qualquer outro intervalo de números de sua escolha, se quiser. O primeiro número após o comando “seq” indica o limite inferior da sequência enquanto que o segundo número se refere ao limite superior. Depois de digitar este script, salve seu arquivo e feche-o.
Passo # 2: Executando o Bash Script Modificado através do Terminal:
Agora execute o seu Bash Script da mesma maneira como explicado acima e você poderá ver a sequência especificada no seu terminal como mostrado na imagem abaixo:
Executar comando “pwd” armazenado em uma variável:
Você também pode imprimir seu diretório de trabalho fazendo uso do comando “pwd” armazenado em uma variável. Para demonstrar isto, vamos modificar novamente o script Bash criado acima seguindo os passos mencionados abaixo:
Passo # 1: Modificando o script Bash Criado acima:
Abra o arquivo Bash que você acabou de modificar e então digite o script mostrado na imagem a seguir. Neste script, nós criamos uma variável chamada “working_directory” e atribuímos-lhe o valor “$(pwd)”. O comando “pwd” irá 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, nós imprimimos o valor da variável “working_directory” no terminal usando o comando “echo”. Agora salve este arquivo e feche-o depois de digitar o script Bash modificado nele.
Passo # 2: Executando o script Bash Modificado via Terminal:
Agora execute este script Bash da mesma maneira como explicado acima. A saída deste script Bash irá mostrar-lhe o directório de trabalho actual. A parte destacada da saída é de facto, a saída do comando “pwd”.
Conclusion:
Este artigo dá uma ideia muito boa de como pode executar um comando que está guardado dentro de uma variável no Bash e pode obter a mesma saída que obteria se tivesse executado o comando independentemente.
Deixe uma resposta