Você está na página 1de 7

variaveis

Variveis

As variveis so posies na memria do computador onde ficam armazenadas n temporariamente algum valor para ser usadas por programas ou scripts que no Linux so precedidas pelo caractere dlar $.

No Linux existem dois tipos de variveis:

Variveis do sistema criadas e gerenciadas pelo prprio Linux e so definidas em letras MAISCULAS, onde visualiza-las pelos comandos printenv e env tais como: HOME, USER ou USERNAME, SHELL e etc Variveis definidas pelo usurio - criadas e gerenciadas pelo usurio e so definidas em letras minsculas ou MAISCULAS.

Variveis do sistema

Voc pode ver as variveis do sistema com os comandos printenv, env e set como mostra o exemplo abaixo:

$ printenv ou $ env ou $ set | more

Abaixo segue a tabela com algumas variveis ambiente do sistema mostrado no curso de Linux Intermedirio.

variaveis

Varivel do sistema SHELL HOME USER ou USERNAME LOGNAME LANG OSTYPE Exibe o nome do shell

Descrio

Exibe o diretrio home do usurio Exibe o nome do usurio Exibe o login do usurio Exibe o idioma do sistema Exibe a arquitetura do sistema

Voc tambm pode exibir qualquer varivel ambiente do sistema com o comando echo.

$ echo $HOME $ echo $USER

Variveis definidas pelo usurio

O nome de variveis podem comear com uma letra do alfabeto (a, b, c, ...) ou com underline _, sendo que o shell sensitive case, ou seja, diferencia minsculo de maisculo, portanto A diferente de a.

Para exibir o valor de uma varivel atravs do comando echo necessrio especificar o sinal de dlar $ antes do nome da varivel ($a).

Outro detalhe que no permitido espaos em branco (a =10 ou a= 10 ou a = 10) ou iniciar uma varivel com um valor numrico (1a=10) , abaixo seguem exemplos de variveis:

Abra um terminal e digite os comandos abaixo:

variaveis

$ A=10 $ a=5 $ echo $A $ echo $a

Ou crie um script para criar as variveis e exibir seus valores da seguinte forma, e repare uma barra invertida \ antes do nome das variveis \$A e \$a para que no seja interpretado pelo shell como uma varivel.

#!/bin/bash A=10 a=5 echo "O valor de \$A : $A" echo "O valor de \$a : $a"

Para executar o script com o ponto e barra mude as permisses

$ chmod +x Script $ ./Script

Assim como nas linguagens C, Php, Perl e etc, o shell armazena valores de variveis da seguinte forma variavel=valor ou VARIAVEL=valor , sendo que o nome da varivel pode ser tanto minsculo como maisculo e o valor pode estar tambm dentro de aspas duplas, 'aspas simples' ou entre `crases` como mostra o exemplo abaixo:

Digite o cdigo abaixo em um editor de texto qualquer como o gedit (modo grfico) ou nano (modo texto) e salve com o nome de variaveis.

#!/bin/bash var1=10 var2='A'

variaveis

VAR3="teste" VAR4=`ls -l /tmp` echo echo echo echo $var1 $var2 $VAR3 $VAR4

Acima foram criadas 4 variveis (var1, var2, VAR3 e VAR4), onde var1 uma varivel que armazena um valor numrico (10), var2 armazena um caractere ('A'), VAR3 armazena uma string (texto) ("teste") e VAR4 armazena o comando entre `crases` (`ls -l /tmp`).

Repare que para exibir os valores das variveis com o comando echo necessrio especificar p sinal de dolar $, antes do nome da varivel ($variavel).

Para executar o script com o ponto e barra mude as permisses

$ chmod +x variaveis

$ ./variaveis

Manipulao de strings com variveis

Podemos tambm fazer referncia a valores de variveis entre chaves { } para separar a varivel e dos caracteres especiais que veremos abaixo:

Caractere $variavel ${variavel} ${#variavel}

Descrio Exibe o valor da varivel Idntico ao anterior Exibe o total de caracteres da varivel

variaveis

${variavel:-texto} ${variavel:posioX} ${variavel:posioX:quantidadeX} ${variavel#texto} ${variavel%texto} ${variavel/texto/novo} ${variavel//texto/novo} Exemplo1:

Se a varivel no for definida retorna o texto Retorna o texto a partir da posio (posioX) Retorna a quantidade (quantidadeX) de caracteres a partir da posio (posioX) Recorta o texto do inicio string Recorta o texto do fim string Substitui texto por um texto novo somente uma vez Substitui texto por um texto novo sempre

Define a varivel CURSO $ CURSO="Linux Shell Script - Programao em Linux" $ echo $CURSO
Linux Shell Script - Programao em Linux

$ echo ${CURSO}
Linux Shell Script - Programao em Linux

Exemplo2:

Retorna a quantidade de caracteres da string e exibe um texto informando que a varivel NAOEXISTE no for definida $ echo "A quantidade de caracteres : ${#CURSO}"
A quantidade de caracteres : 41

$ echo ${NAOEXISTE:-"Esta varivel no existe"}


Esta varivel no existe

variaveis

Exemplo3:

Retorna o texto a partir da posio 5, vale lembrar que a primeira posio da string sempres comea a partir de zero 0, ou seja, a primeira letra da string "Linux Shell Script - Programao em Linux" L na posio 0, a segunda letra o i 1, a terceira letra n 2 e assim por diante. $ echo ${CURSO:5}
Shell Script - Programao em Linux

Exemplo4:

semelhante ao exemplo anterior, mas retorna a quantidade de 11 caracteres a partir da posio 0. $ echo ${CURSO:0:11}
Linux Shell

Exemplo5:

Este exemplo recorta o texto Linux do incio e fim da string $ echo ${CURSO#Linux}
Shell Script - Programao em Linux

$ echo ${CURSO%Linux}
Linux Shell Script - Programao em

Exemplo6:

variaveis

Este exemplo substitui o texto Linux por LINUX em maisculo somente uma vez, e depois substitui todas ocorrncias do texto, repare o uso de duas barras // no segundo comando. $ echo ${CURSO/Linux/LINUX}
LINUX Shell Script - Programao em Linux

$ echo ${CURSO//Linux/LINUX}
LINUX Shell Script - Programao em LINUX