Esse artigo foi elaborado tendo como base, o livro "Scripts de Shell Linux com Bash" de Ken O. Burtch. Abordando os tópicos essenciais para começar a criar scripts. Ensinando os conceitos básicos para criação de laço de repetição, estruturas condicionais, funções, operações aritméticas, scripts bem comportados, entre outras.
Para ler do teclado, é utilizado o comando read. O comando interno read pára o script e espera que o usuário digite algo no teclado.
O texto digitado é atribuído à variável que acompanha o comando read. Abaixo, há alguns exemplos com a sua devida explicação, para que você possa testar, e assim, aprender como utilizar esse comando.
Essa é uma utilização clássica do read, onde simplesmente ele pára e espera o usuário digitar algum valor. Assim que o valor é inserido, pode-se visualizar o que foi inserido na variável através do comando printf:
Neste exemplo, é utilizado a opção -p do read, fazendo que ele tenha duas funções a de exibir na tela uma mensagem e guardar na variável o que o usuário digitar.
Neste exemplo, ele utiliza a opção -t, com o valor 5, sendo assim, o usuário terá cinco segundos para digitar o valor, se caso não for digitado nada, o programa continuará normalmente.
O comando let executa cálculos matemáticos. let espera uma String contendo uma variável, um sinal de igual e uma expressão a ser calculada. O resultado é atribuído a uma variável. Abaixo, há alguns exemplos de sua utilização.
Nesse exemplo, a variável recebe a soma de dois números:
let "SOMA=5+5"
$ printf "%d" "SOMA"
Nesse exemplo, a variável recebe o valor contido nela mais cinco:
let "SOMA=$SOMA+5"
$ printf "%d" "%SOMA"
Obs.: se uma variável for declarada como um número inteiro com a opção -i, o comando let será opcional.
Exemplos com as operações de: soma, subtração, multiplicação, divisão e resto da divisão:
let "RESULTADO=5+2"
$ printf " 5 mais dois é %d\n" "$RESULTADO"
$ let "RESULTADO=5-2"
$ printf " 5 menos dois é %d\n" "$RESULTADO"
$ let "RESULTADO=5*2"
$ printf " 5 vezes dois é %d\n" "$RESULTADO"
$ let "RESULTADO=5/2"
$ printf " 5 dividido dois é %d\n" "$RESULTADO"
$ let "RESULTADO=5%2"
$ printf " o resto de 5 dividido por 2 é é %d\n" "$RESULTADO"
[3] Comentário enviado por kirito em 13/12/2013 - 18:32h
Seu artigo está ótimo, mas só uma pequena dúvida..
Se você colocar a primeira linha como #!/bin/interpretador, não a necessidade de chamar o interpretador(bash), é só dar a permissão de execução e rodar o programa, ou estou errado ?
Sou iniciante em Shell, então talvez eu esteja falando besteira kk
[4] Comentário enviado por calebebastos em 13/12/2013 - 19:36h
Bem na distribuição que eu uso, eu sempre utilizo o comando bash, costuma não funcionar sem por causa de permissões de execução ai acho mais prático utilizar ele. Se vc der premissão ao arquivo basta clicar nele. Agora essa primeira linha com o caminho do interpretador em um bom script sempre tem que ter, dê uma olhada na parte de Script bem comportado, faz parte do cabeçalho. Faça o teste ai e nos conte. Espero ter ajudado. Obrigado pelo comentário. Abraço
[5] Comentário enviado por kirito em 14/12/2013 - 12:04h
Obrigado pela esclarecimento e atenção. Tive essa dúvida porque em meus scripts eu dou o comando para dar permissão de execução e rodo o programa. Estou pensando em publicar um artigo para executar programas em C e em Assembly mais rápido.. Obrigado novamente, e meus parabéns pelo o ótimo artigo!
[10] Comentário enviado por ricardoolonca em 18/12/2013 - 10:00h
Parabéns pelo artigo. Está muito bom.
Alguns comentários:
1- O script não precisa ser salvo com a exstensão .sh. Neste caso, a extensão serve apenas para nós sabermos que o arquivo é um script bash. Mas ele pode ter qualquer extensão, ou nem ter extensão nenhuma.
2- Para executar, você pode usar:
bash arquivo.sh
ou dar permissão de execusão com o comando
chmod +x arquivi.sh
e executá-lo com uma das seguintes formas:
./arquivo.sh
/caminho/completo/do/arquivo.sh
3- Para efetuar cálculos, você pode usar a seguinte forma:
soma
x=$[2+3]
multiplicação
x=$[2*3]
Sempre uso os sites abaixo como referência. O primeiro é sobre o bash, e o segundo é sobre o dialog, que é uma forma de colocar menus em seus script