Teste

Disponível somente no TrabalhosFeitos
  • Páginas : 13 (3115 palavras )
  • Download(s) : 0
  • Publicado : 10 de agosto de 2012
Ler documento completo
Amostra do texto
SISTEMAS OPERATIVOS

3
Programação em Bash Shell
(Bash Shell)

Os objectivos deste módulo são os seguintes:    Programação do Bash Shell Estruturas de Controlo if e case Repetição

Referências
   A quick guide to writing scripts using the bash shell : localcopy Advanced Bash Scripting Guide : the Linux Documentation Project : localcopy Vários documentos sobre Unix

Página 1 de 15 SISTEMAS OPERATIVOS

1 Introdução
O bash shell é antes de mais um interpretador de comandos. Efectua a leitura de comandos introduzidos na linha de comando e interpreta-os. A interpretação significa uma ou mais acções do sistema operativo, por exemplo executar o comando que foi escrito! Resumindo, os interpretadores de comandos de linha, tipo Bash Shell, são uma maneira de efectuar ainterface entre o utilizador e o sistema operativo. No caso dos sistemas Linux/Unix, o interpretador de comandos afecto a cada utilizador por defeito encontra-se no ficheiro /etc/passwd. Execute, por exemplo, o comando finger para ver a sua informação. Um Shell Script é um conjunto de comandos escritos numa linguagem de script. Uma linguagem script permite uma interpretação mais complexa dos nossoscomandos. Portanto um shell script poderá ser apenas uma sequência de comandos existentes ou através de uma linguagem própria podemos usar variáveis, ciclos de repetição e outras estruturas de controlo típicos de qualquer linguagem imperativa, até há linguagens criptas baseados em outras paradigmas de programação utilizando por exemplo objectos. Normalmente os shell scripts são utilizados naconstrução de pequenas aplicações de auxílio à administração de sistemas e aos programadores experientes. São utilizados para automatizar tarefas diárias tais como realização de cópias de segurança, gestão de contas, remoção automática de determinado tipo de recursos, pesquisa de informação, etc. Também podem ser utilizados para prototipagem rápida de aplicações mais complexas, gerir projectos deprogramação e como partes pequenas de sistemas sofisticados.

1.1 O Primeiro Script
Um shell script não é mais do que uma sequência de comandos interpretados um após o outro pelo sistema operativo. Existem varias linguagens cada uma com o seu próprio sintaxe e nomes pelos vários comandos e funcionalidades do sistema operativo. A primeira linha dum ficheiro “script” indica a linguagem que será utilizadapara interpretar o script. De facto indica ao interpretador actual qual a aplicação a utilizar. Na figura 1 a aplicação indicada é /bin/bash (bourne again shell) - o ficheiro bash no directório /bin. A segunda linha é apenas um comentário e será ignorado. As restantes linhas são todas comandos que podiam ter sido introduzidos directamente na linha de comando. #!/bin/bash #primeiro script - ola.shecho ola $USER pwd date Figura 1. Um Exemplo Simples - o ficheiro “ola.sh”

Página 2 de 15

SISTEMAS OPERATIVOS

1.2 Atribuição de permissões de execução
Para executar o ficheiro é necessário atribuir permissões de execução, usando o comando chmod.

alunos:~/scripts crocker$ ou alunos:~/scripts crocker$

chmod +x chmod 744 ola.sh

Figura 2 – Atribuição de permissões de execução

1.3Execução.
Neste momento o ficheiro ola.sh pode ser executado, ou melhor dito “interpretado”, escrevendo simplesmente o seu nome. Ver o exemplo completo em baixo: ________________________________________ alunos:~/scripts crocker$ vi ola.sh alunos:~/scripts crocker$ ls -l ola.sh -rw-r--r-- 1 crocker staff 68 24 Feb11:30 ola.sh alunos:~/scriptscrocker$ ola.sh -bash: ola.sh: command not found//Problema com o path. //Não está incluído o directório actual o “ponto” alunos:~/scripts crocker$ ./ola.sh -bash:./ola.sh: Permission denied alunos:~/scripts crocker$ chmod 744 ola.sh alunos:~/scripts crocker$./ola.sh ola crocker /Network/Servers/alunos/Volumes/alunos/Alunos/crocker/scripts ola.sh exemplo.sh alunos.txt ThuFeb 24 11:31:33 WET 2005 ________________________________________ Finalmente...
tracking img