Conceito de Variáveis em shell script
Variáveis são caracteres que armazenam dados. O bash reconhece uma variável quando ela começa com $, ou seja, a diferença entre ‘palavra’ e ‘$palavra’ é que a primeira é uma palavra qualquer, e a outra uma variável. variavel="valor" Exemplo:
$ variavel="Eu estou logado como usuário $user"
$ echo $variavel
Eu estou logado como usuário cla
Controle de fluxo
Controle de fluxo são comandos que vão testando algumas alternativas, e de acordo com essas alternativas, vão executando comandos.
if
Um dos comandos de controle de fluxo mais usados é certamente o if, que é baseado na lógica “se acontecer isso, irei fazer isso, se não, irei fazer aquilo”. listagem dos operadores:
-eq
Igual
-ne
Diferente
-gt
Maior
-lt
Menor
-o
Ou
-d
Se for um diretório
-e
Se existir
-z
Se estiver vazio
-f
Se conter texto
-o
Se o usuário for o dono
-r
Se o arquivo pode ser lido
-w
Se o arquivo pode ser alterado
-x
Se o arquivo pode ser executado
Exemplo: if [ -e $linux ] then echo 'A variável $linux existe.' else echo 'A variável $linux não existe.' fi case
O case é para controle de fluxo, tal como é o if. Mas enquanto o if testa expressões não exatas, o case vai agir de acordo com os resultados exatos. Vejamos um exemplo:
Exemplo:
case $1 in parametro1) comando1 ; comando2 ;; parametro2) comando3 ; comando4 ;;
*) echo "Você tem de entrar com um parâmetro válido" ;; esac for
O laço for vai substituindo uma variável por um valor, e vai executando os comandos pedidos. Exemplo: for i in * do cp $i $i.backup mv $i.backup /usr/backup done while
O while testa continuamente uma expressão, até que ela se torne falsa.
Exemplo:
variavel="valor" while [ $variavel = "valor" ]; do comando1 comando2 done until
Tem as mesmas características do while, a única diferença é que ele faz o contrário.
Exemplo:
variavel="naovalor" until [