Você está na página 1de 21

Programação Para Servidores

Aula 01

Prof. Anderson Theobaldo


Visão Geral

Unidade I - Introdução
1.1 – Definição de shell script
 O que é um shell?

 Tipos de interface

 Características das interfaces

 Funcionalidades de um shell

 O que é um script

 Características de um script

1.2 – Programação script


 Razões para utilização

 Quando não utilizar

1.3 – Scripts versus linguagens compiladas


O Que é um Shell?

 O shell não é um aplicativo.


 O shell é um processo executado em um sistema.
 A diferença entre o shell e um aplicativo está na sua função:
permitir que usuários executem outros aplicativos e interajam
com o sistema operacional.
O Que é um Shell?

 O shell é o primeiro programa que o usuário recebe ao iniciar


sua sessão (se “logar” em uma máquina).
 O shell é quem interpreta as solicitações do usuário, comandos
digitados e examina sintaxes.
 O shell é um interpretador que traz consigo uma poderosa
linguagem com comandos, os quais permitem a construção de
scripts com loops, de estruturas de decisão e de
armazenamento de valores em variáveis.
Tipos de Interfaces

 CLI Shell (command-line)


 GUI Shell (graphical user interface)
Características das Interfaces

 Interface CLI Shell


 Permitem o encadeamento de comandos (pipeline).

 Exige um bom conhecimento prévio do sistema operacional.

 Exemplos:
 Sistemas Unix: Thompson shell, Bourne Shell (Sh), Bourne-
Again Shell (Bash), Korn Shell (Ksh), C Shell (Csh), Z-Shell
(Zsh), etc.
 Sistemas Windows: DOS (Prompt de Comando, Command,
CMD), Windows PowerShell.
Características das Interfaces

 Interface GUI Shell


 Requerem comandos que sejam completamente
independentes.
 É fácil de utilizar (clique do mouse).

 Exemplos:
 Sistemas Unix: Baseadas nos gerenciadores de janela (KDE,
Gnome, XFCE, Fluxbox, Blackbox, Motif, Openbox, LXDE,
WindowMaker, etc.)
 Sistemas Windows: Windows Explorer.
Características das Interfaces

 OBS.: Embora GUI shells existam, o termo “shell” é usado


quase exclusivamente para descrever um ambiente command-
line e não uma tarefa que você desempenha com um
aplicativo GUI, como o Windows Explorer.
Características das Interfaces

 “Todo usuário de computador lida com um shell, seja digitando


comandos em um prompt ou clicando em um ícone para iniciar
um aplicativo.”

(Tyson Kopczynski)
Funcionalidades de um Shell

 Executar comandos
 Exemplos: Executar um aplicativo, criar um diretório, copiar
um arquivo, etc.

 Executar scripts (comandos CLI)


 Exemplos: Inicializar um firewall, realizar backup e esvaziar
um arquivo de log.
O Que é um Script?

 Um script shell consiste basicamente em um agrupamento de


comandos, frequentemente introduzidos através da linha de
comando, em um arquivo texto a ser processado pelo
interpretador de comandos do Shell.

 É um arquivo texto que armazena comandos single-line ou


pipelines a serem executados pelo sistema operacional.
Características de um Script?

 Uma vez criado, um script shell pode ser reutilizado quantas


vezes for necessário.
 Permitem o encadeamento de comandos (pipeline).
 Podem ser agendados para execução programada. (cron ou
agendador de tarefas)
 Possibilidade do uso de recursos típicos de linguagem de
programação (variáveis, condição, loops, funções, arrays) a
serem processados pelo interpretador shell.
Principais Razões de Utilização de um Shell
Script

 Simplicidade: Por ser uma linguagem de alto nível, é possível


expressar operações complexas de forma e simples;
 Portabilidade: Por ser universal entre sistemas Unix, existe uma
grande chace de um shell script escrito para um sistema ser
transferido para outro sem necessidade de alterações.
 Facilidade de desenvolvimento: Pode-se desenvolver|um shell
script poderoso e útil em pouco tempo.
Programação Shell Script

 Durante o processo de boot uma máquina Linux


executa os shell scripts em /etc/rc.d para configurar
o sistema e os serviços;
 Uma compreensão detalhada de tais scripts de
inicialização é importante para analisar o
comportamento de um sistema e, possivelmente,
modificá-lo;
Scripts Versus Linguagens Compiladas

 Linguagens de Script:
 São linguagens interpretadas. As instruções são
interpretadas linha por linha através da ajuda de um
programa interpretador.
 Vantagem:
 Rapidez e simplicidade na programação.

 Portabilidade relativa.

 Desvantagem:
 Tempo de execução maior. (desempenho)
Scripts Versus Linguagens Compiladas

 Linguagens compiladas:
 Os programas são traduzidos para um código objeto
(compilação) e posteriormente ligados (linkagem) com as
funções das bibliotecas da linguagem, gerando-se um
programa executável.
 Os programas são executados diretamente pelo hardware
do computador.
 Vantagem:
 Tempo de execução menor. (performance)
 Desvantagem:
 Não portabilidade do código de máquina para máquinas
de arquiteturas diferentes.
Exemplo de Script no MS-DOS

:: ISTO É UM SIMPLES EXEMPLO ECHO.


:: ARQUIVO DE SCRIPT EXEMPLO.bat ECHO DIGITE A OPÇÃO
:: CHOICE /C:PCS /n > null
@ECHO OFF IF ERRORLEVEL 3 GOTO FIM
:START IF ERRORLEVEL 2 CALC.EXE
CLS IF ERRORLEVEL 1 MSPAINT.EXE
ECHO. GOTO START
ECHO. :FIM
ECHO
***********************************************
ECHO PRESSIONE P PARA INICAR O PAINT
ECHO PRESSIONE C PARA INICIAR A CALCULADORA
ECHO PRESSIONE S PARA SAIR
ECHO
***********************************************
Criando o Primeiro shell script

Passos para criar um shell script


1. Escolher um nome para o script
 Use apenas letras minúsculas e evite acentos, símbolos e espaço em
branco.
 Exemplo: ola.sh
2. Escolher o diretório onde colocar o script
 Para que o script possa ser executado de qualquer parte do
sistema, mova-o para um diretório que esteja no seu PATH.
3. Criar o arquivo
 Através de um editor de textos de sua preferência, inserir todos os
comandos dentro do arquivo.
Criando o Primeiro shell script

Passos para criar um shell script


4. Inserir a referência do shell na primeira linha
 Exemplo: #!/bin/bash
 Isto indicará ao sistema, qual o shell utilizar para
interpretar os comandos.
5. Incluir as seguintes linhas
 #primeiro script - ola.sh
 echo ola $USER
 pwd
 date
 Obs: após digitar os commandos acima, salvar o arquivo como ola.sh
Criando o Primeiro shell script

Passos para criar um Shell Script


5. Tornar o script um arquivo executável
 Use o seguinte comando para que seu script seja reconhecido pelo sistema
como um comando executável:
 Exemplo:
chmod +x sistema
6. Executar o Shell Script
 Se o script estiver no diretório corrente, chame-o com um "./" na frente,
assim:
./ola.sh
 Caso contrário, especifique o caminho completo desde o diretório raiz:

/usr/home/scripts/ola.sh
Erros Comuns

 Comando não encontrado


 Verifique o nome do script chamado. Lembre-se que no Unix/Linux
as letras maiúsculas e minúsculas são diferentes, então o nome
“ola.sh" é diferente do comando “Ola.sh".
 Permissão negada
 O shell encontrou o seu script, mas ele não é executável. Use o comando "chmod
+x seu-script" para torná-lo um arquivo executável.
 Erro de sintaxe
 Verifique os seus comandos, geralmente o erro é algum if ou aspas
que foram abertos e não foram fechados. A própria mensagem
informa o número da linha onde o erro foi encontrado.

Você também pode gostar