Aula 7.12: Como declarar variável no terminal Linux

Aula 7.12 – Aprenda a declarar variável em shell no Linux

      

Este artigo faz parte do projeto #LTCode

Se você já programou na vida já deve ter familiaridade com o conceito de variáveis.

Variáveis começam com letra ou sublinhado, nunca com dígitos e não devem ter espaços entre os nomes. Os nomes de variáveis globais por convenção são escrito em maiúsculo.

Para definir um valor a uma variável que contém espaços e tabulações, use aspas duplas entre o valor.

Quando se executa um comando usando uma variável como argumento, a shell o expande. Mas se o valor tiver caracteres especiais (como * ou ?), a shell pode ou não expandir o valor da variável.

Enquanto a shell em que a variável foi criada estiver em execução ela continua viva. Então para remover utiliza-se o unset como ilustra na imagem acima.

Para concatenar uma variável com uma string é necessário utilizar a sintaxe ${variável} .

Um dos usos mais comuns para variáveis criadas por usuários é armazenar informações que o usuário digita no terminal.

Usando o comando read um script pode aceitar entradas do usuário e armazenar em variáveis. Mas cuidado, a shell pode interpretar como comando a entrada do usuário se a variável for usada sem aspas duplas.

Com o comando read você pode utilizar alguns comandos como -p para mostrar uma mensagem por exemplo. Se não definir uma variável, a shell coloca na variável $REPLY. Consulte o manual para mais informações.

Com o comando interno readonly o valor da variável não pode ser alterado. Deve-se definir um valor antes de torná-la readonly, depois não se pode alterar e nem remover a variável.

Os comandos declare e typeset definem atributos para as variáveis. Os atributos que variáveis podem ter são:

  • -a declara um array
  • -f declara como nome de função
  • -i declara como inteiro
  • -r declara como somente leitura (como readonly)
  • -x declara como variável global (comando export)

Para retirar um atributo basta utilizar o símbolo + ao invés de – . Mas isso não funciona para o atributo que declara como somente leitura. O comando “declare -r” pode ser utilizado para listar todas as variáveis que possuem atributos.

Ao realizar operações aritméticas, a shell converte a variável em um número, executa a operação e depois a converte de volta para string. Mas utilizando o atributo inteiro (-i) a variável passa a armazenar internamente como inteiro esse número.




Source link