Zusammenfassung der Ressource
Shell Script
- Linha de comando do Unix e Linux, é o servo que recebe
os comandos digitados pelo usuário e os executa.
- Passos para criar um script.
- Escolher um nome para o script / escolher o diretório onde colocar o script ( para executar de
qualquer parte do sistema mova para o PATH, caso contrário utilizar ./ antes do nome do script.)
- Criar o arquivo e colocar nele os comandos ( VI, Vim etc )
- A primeira linha deve ser sempre iniciada por: #!/bin/bash
- Tornar o script um arquivo executável / chmod +x
- Alguns comandos e funções
- O comando "echo" serve para mostrar mensagens na tela. Ex: echo "Data e Horário:" Se nenhum
texto for colocado, uma linha em branco é mostrada.
- O comando read vai ler e armazenar o conteúdo digitado pelo usuário em uma variável. Ex: read
VARIAVEL
- O comando test é útil para fazer vários tipos de verificações em textos e arquivos. Ex: test
"$RESPOSTA" = "n" && exit
- O conteúdo da variável é acessado
colocando-se um cifrão "$" na frente
- Ao iniciar a linha com um "#" e escrever o texto do comentário em seguida. Estas linhas são ignoradas pelo
shell durante a execução.
- é possível colocar comentários
no meio da linha # como este
- Variáveis
- É dentro delas que os dados obtidos durante a
execução do script serão armazenados
- Para definir uma variável, basta usar o sinal de
igual "=" e para ver seu valor, usa-se o "echo":
- O conteúdo da variável é acessado
colocando-se um cifrão "$" na frente
- é possível armazenar a saída de um
comando dentro de uma variável.
- o comando deve ser colocado entre "$(...)". Ex: HOJE=$(date)
- o comando "unset" apaga uma variável.
- O formato de um comando é sempre: COMANDO OPÇÕES PARÂMETROS
- O "read" é um comando do próprio shell, já o "date"" é um executável do sistema. Dentro de um
script, não faz diferença usar um ou outro, pois o shell sabe como executar ambos.
- Alguns exemplos : cat - mostra o arquivo / cut - extrai campo / find - encontra arquivos / sort - ordena texto
- tail - mostra final de um arquivo / tr - transforma texto / uniq - remove duplicatas
- Use "man comando" para obter mais
informações sobre cada um deles.
- É possível combinar comandos, aplicando-os em seqüência,
para formar um comando completo. Usando o pipe "|" é
possível canalizar a saída de um comando diretamente para
a entrada de outro, fazendo uma cadeia de comandos.
- Ex: cat /etc/passwd | grep root | cut -c1-10
- Assim como qualquer outra linguagem de programação, o shell também tem
estruturas para se fazer condicionais e loop. As mais usadas são if, for e while.
- o if testa um comando e não uma condição.
- Já o while é um laço que é executado enquanto um comando retorna OK
- o for percorre uma lista de palavras, pegando uma por vez:
- VARIAVEL="um dois tres"
- echo $VARIAVEL
- Não podem haver
espaços ao redor do
igual "="