Programando em Shell Script para iniciantes
Este é meu primeiro artigo, mas estudei bastante para fazê-lo. Ele foi desenvolvido principalmente para aqueles que querem começar nesse mundo fascinante da programação. Estudaremos os princípios do Shell Script e iremos até os diálogos gráficos.
Parte 2: Exemplos
Nesta parte iremos estudar a teoria aplicada e é altamente recomendável você não copie e cole os exemplos, é bom que você vá digitando para ir se familiarizando com os comandos.
1º exemplo) Vamos começar com um script bem simples:
Entendendo o que você escreveu:
2º exemplo) Vamos implementar o primeiro exemplo:
Entendendo o que você escreveu:
3º exemplo) Implementando os exemplos anteriores com condições
Entendendo o que você escreveu:
Além do "=" ou "-eq" que propõe, que duas expressões sejam iguais, temos:
1º exemplo) Vamos começar com um script bem simples:
#!/bin/sh
mkdir -p "/home/$USER/Olá mundo"
mkdir -p "/home/$USER/Olá mundo"
Entendendo o que você escreveu:
- mkdir -p : cria diretório se não existir;
- /home/$USER/ : caminho;
- $USER : é o usuário que está executando o script;
- Olá mundo : o nome do diretório que você quer criar.
2º exemplo) Vamos implementar o primeiro exemplo:
#!/bin/sh
echo "Digite o caminho de onde você deseja criar o diretório."
read caminho
echo "Digite o nome do diretório que deseja criar."
read diretorio
mkdir -p "$caminho/$diretorio"
echo "Digite o caminho de onde você deseja criar o diretório."
read caminho
echo "Digite o nome do diretório que deseja criar."
read diretorio
mkdir -p "$caminho/$diretorio"
Entendendo o que você escreveu:
- echo : esse comando faz com que o shell imprima uma mensagem na tela;
- read : faz com que o shell dê uma pausa e espere que algo seja digitado e depois capture e coloque o que foi digitado numa variável. A frente do "read" você pode notar que tem um nome, esse nome se tornará uma variável que mais tarde será acompanhada do "$" para indicá-la ao shell;
3º exemplo) Implementando os exemplos anteriores com condições
#!/bin/sh
echo "Digite o caminho de onde você deseja criar o diretório."
read caminho
echo "Digite o nome do diretório que deseja criar."
read diretorio
if [ $caminho = $caminho ]; then
mkdir -p "$caminho/$diretorio"
echo "O diretório $diretorio foi criado."
else
echo "Entre com um diretório válido."
fi
echo "Digite o caminho de onde você deseja criar o diretório."
read caminho
echo "Digite o nome do diretório que deseja criar."
read diretorio
if [ $caminho = $caminho ]; then
mkdir -p "$caminho/$diretorio"
echo "O diretório $diretorio foi criado."
else
echo "Entre com um diretório válido."
fi
Entendendo o que você escreveu:
- if(se) : testa uma ou mais expressões. Nesse exemplo (sem muita criatividade :-)) ele irá comparar a variável "caminho" se é igual a variável "caminho". O if deverá comparar deve estar entre colchetes "[ ]".
- then(então) : após comparar as variáveis e for verdade, ele executará os comandos que você escrever;
- else(senão) : após comparar as variáveis e não for verdade, ele executará os comando que você escrever;
- fi: depois de terminar, a comparação deverá ser fechada pelo inverso de "if", que é "fi".
- "case", que testa várias expressões ao mesmo tempo (será explicado posteriormente);
- "for", que testa uma ou mais expressões e substitui uma variável por um valor e executa os comandos pedidos;
- "while", que testa continuamente uma expressão, até que ela se torne falsa.
Além do "=" ou "-eq" que propõe, que duas expressões sejam iguais, temos:
- "!=" que propõe, que duas expressões sejam diferentes;
- ">" ou "-gt" que propõe, que uma expressão seja maior que outra;
- ">=" que propõe, que uma expressão seja maior ou igual a outra;
- "<" ou "-lt" que propõe, que uma expressão seja menor que outra;
- "<=" que propõe, que uma expressão seja menor ou igual a outra;
- "-d" que propõe, que a expressão seja um diretório;
- "-e" que propõe, que se existe a expressão;
- "-z" que propõe, que a expressão esteja vazia;
- "-f" que propõe, que a expressão contenha texto;
- "-o" que propõe, que se usuário for o dono da expressão;
- "-r" que propõe, que se o arquivo pode ser lido;
- "-w" que propõe, que se o arquivo pode ser alterado;
- "-x" que propõe, que se o arquivo pode ser executado.