• Nenhum resultado encontrado

Prog Servidores Unidade III parte 1

N/A
N/A
Protected

Academic year: 2019

Share "Prog Servidores Unidade III parte 1"

Copied!
31
0
0

Texto

(1)

Unidade III – Programação Script Parte 1 Slides 05

(2)

 Unidade III – Programação Script

◦ 3.1 – Comentários em um script

◦ 3.2 – Criação e execução de um script ◦ 3.3 – Variáveis

◦ 3.4 – Substituição de variável ◦ 3.5 - Concatenação

(3)

 Toda linha de comentário deverá ser precedida do

caractere #.

Exemplos:

#Meu primeiro script

#Data: 11/11/11

(4)

Comentário da “primeira linha”

 As linha iniciadas com o caractere # serão “ignoradas”

pelo interpretador shell, exceção à primeira linha

iniciada com #!, a qual indicará o interpretador a ser usado. A combinação “#!” também é conhecida como

“shebang” ou “hashbang” (contração de sharp bang). Exemplos:

(5)

Observações:

 Lembre-se que um script é executado em um outro shell (subshell) com interpretador especificado na primeira linha.

 Quando um script é executado, o seu arquivo é passado como parâmetro para o interpretador.

 Um comando que aceite um arquivo como parâmetro, poderá ser um interpretador.

(6)

 Um script shell é um arquivo texto, padrão ASCII.

 Para criar um script, usar um editor de texto ou um

editor de script da sua preferência (nano, mcedit, gedit).

 Exemplos:

No modo gráfico: gedit

Sintaxe: gedit ou gedit nome_arquivo ou gedit nome_arquivo &

No modo texto: nano

Sintaxe: nano ou nano nome_arquivo ou nano nome_arquivo &

(7)

 Nano

O menu de teclas de atalho fica localizado no rodapé. No atalho, ^ = tecla control, ou seja:

CTRL-X - Sai do editor. Irá perguntar se quer salvar seu trabalho (Y/N).

CTRL-R - Ler e adiciona o texto de um arquivo no texto atual.

CTRL-C - Mostra a posição atual do cursor. CTRL-K - 'Recorta' o texto.

CTRL-U - 'Cola' o texto. CTRL-U - 'Cola' o texto.

CTRL S - Salva o arquivo e continua editando.

CTRL-T - verifica a ortografia do seu texto. CTRL-W - Faz uma busca no texto.

(8)

Passos:

1. Criar o arquivo;

2. Digitar os comandos (algoritmo do script);

3. Salvar o arquivo (e fechá-lo*);

4. Testar o script (bash nome_arquivo);

5. Conceder permissão de execução (chmod);

6. Disponibilizar no PATH (jogar na pasta bin do usuário).

7. Executar o script de qualquer lugar.

(9)

1. Criar o arquivo;

Exemplos:

gedit ou gedit script1 ou gedit script1 &

(10)

3. Salvar o arquivo (e fechá-lo*);

Salvá-lo com o nome “script1”.

Observações:

1) Normalmente os scripts possuem extensão “.sh”.

2) Não salvar o arquivo com o mesmo nome de uma palavra-chave ou comando do Bash.

4. Testar o script (bash nome_arquivo); Usar o interpretador para testar.

(11)

5. Conceder permissão de execução (chmod);

Usar o comando chmod com a opção de execução (podendo ser também no modo octal).

(12)

Testando execução sem explicitar o interpretador Observações:

1) A sintaxe “./nome_arquivo” executa um programa ou script no diretório corrente.

(13)

6. Disponibilizar no PATH (jogar na pasta bin do usuário). Observação:

A maioria das distribuições Linux incentiva a prática em que cada usuário tenha um diretório específico para os seus programas de uso pessoal. Este diretório é chamado de “bin” e é um subdiretório do seu diretório home.

(14)

7. Executar o script de qualquer lugar.

Observação:

(15)

Definição de variável

 Para que os scripts manipulem os dados, estes devem

ser armazenados em variáveis, assim sendo, variáveis pode ser definida como sendo:

 Local da “memória”, referenciado por um nome

(16)

Regras para nomes identificadores de variáveis

1. O primeiro caracter deve ser uma letra ou sublinhado

(“_”).

2. Os demais caracteres podem pertencer ao seguinte conjunto:

{_,a,b,c,...,z, A,B,C,...,Z,0,1,2,...,9}, e sem limite de quantidade.

3. Não possuir espaços em branco nem conter caracteres de pontuação ou especiais, tais como $, #,&,*,!,., etc.

(17)

 Os nomes devem ser significativos, explicitando o seu

conteúdo ou finalidade.

Exemplos:

◦ DIR_BACKUP

◦ _diretorio_backup

◦ Data_proc_01

(18)

Declaração

 Não existe declaração formal de variável em um scritp shell. Uma variável pode ser criada e imediatamente usada em qualquer lugar do script.

 Para criar uma variável, digite o nome da mesma seguido

imediatamente por um sinal de igual ("=").

 Não são permitidos espaços em ambos os lados do sinal de

igual.

 Após o sinal de igual, atribuir a informação que você deseja

armazenar.

Exemplos:

_NomeScript=Teste

finalidade_do_script=Nenhuma prioridade=10

(19)

 O operador de atribuição de valor a uma variável é o

símbolo “=” (igual).

 O conteúdo de uma variável é sempre armazenado

como sendo uma string (literal).

 Não há limite para a quantidade de caracteres que a

variável pode armazenar.

 Para limpar o valor de uma variável faz-se uma

atribuição nula (vazia). Exemplo:

(20)

Destruição de uma variável

 Para se destruir uma variável deve-se utilizar o

comando unset.

Exemplos:

unset _NomeScript

(21)

 Para se referenciar, ou seja, para se obter (extrair) o

valor de uma variável, utiliza-se o nome da variável precedido do caractere $. ($nome_variável)

 Este mecanismo é conhecido como substituição ou

expansão de uma variável.

 Sempre que o shell vê uma palavra que começa com um

“$”, ele tenta descobrir o que foi atribuído à variável e efetuar a substituição (troca).

Exemplo:

mensagem=“Olá mundo.” criação de variável

echo $mensagem impressão na tela do conteúdo

complemento=Voilá! criação de variável

saida=$mensagem atribuição de valor de uma variável à outra

(22)

Exemplo:

mensagem=“Olá mundo.” criação de variável

echo $mensagem impressão na tela do conteúdo

complemento=Voilá! criação de variável

saida2=“$mensagem $complemento” concatenação

(23)

 As “variáveis de ambiente” armazenam valores que são

utilizados para fins configuração do ambiente do usuário.

 As variáveis de ambiente são consideradas como sendo

variáveis globais para o shell, isto é, disponíveis para os scripts executados naquele shell.

 O shell e os programas são executados em um ambiente

configurado por estas variáveis.

 Estes valores ficam disponíveis a partir do instante em que o

usuário faz o login.

 As “variáveis de ambiente” são geralmente consideradas

constantes, uma vez que raramente são alteradas.

 Por convenção, variáveis de ambiente são escritas com os

(24)

 As variáveis de ambiente são atualizadas através dos

scripts de inicialização, os quais são executados toda vez que o usuário faz o login.

 O ambiente configurado do usuário contém variáveis

(25)

Comandos para configurar ou criar variáveis de ambiente

 export

Cria e/ou modifica o valor de uma variável de ambiente.

 readonly

(26)

Comandos para visualizar variáveis de ambiente

 env (ou printenv ou export):

Exibe apenas as variáveis que foram exportadas pelos scritps de inicialização ou diretamente (manualmente) no shell pelo usuário.

 set

(27)

Exemplos:

 $HOME : Mostra o diretório home do usuário.

 $PWD : mostra o diretório atual de trabalho do usuário.

 $OLDPWD : Mostra o diretório anterior de trabalho do usuário.

 $HISTFILE : Mostra o nome do arquivo que armazena as linhas de comando

digitadas pelo usuário (no shell bash o arquivo padrão é o .bash_history).

 $HISTSIZE : Mostra o número de linhas de comando digitadas pelo usuário que

são memorizadas pelo sistema.

 $LOGNAME : Mostra o nome de acesso do usuário.

 $USER : mostra o nome do usuário atual.

 $UID : mostra o número de identificação do usuário.

 $MAIL : Mostra o diretório que contém as mensagens de correio eletrônicas

(28)

 $SHELL : mostra o nome do shell atualmente em uso.

 $SHLVL : mostra o número de shells atualmente em execução na conta do usuário.

 $OSTYPE : Mostra o sistema operacional em uso.

 $TERM : mostra o tipo de terminal em uso.

 $PPID : mostra o número de identificação do processo que

inicializou o shell do usuário. Existe um diretório em /proc com este número e que contém informações sobre o processo em questão.

 $PS1 : mostra a definição do prompt da linha de comando.

 $PS2 : mostra a definição do prompt secundário da linha de comando.

(29)

Arquivos de inicialização do ambiente do usuário

 O bash, quando é carregado através de um shell que

requer login (nome e senha), procura os arquivos de scripts abaixo, em seqüência, os comandos neles contidos, caso existam:

1. /etc/profile

2. ~/.bash_profile

3. ~/.profile

 Caso o bash seja carregado através de um shell que não

requer login (janela de terminal), o seguinte arquivo é executado:

(30)

Sobre os arquivos

 /etc/profile  Contém as variáveis de ambiente do sistema que são disponibilizadas para todos os usuários do sistema no momento do login. Somente o usuário root tem permissão para alterar este arquivo. Ele é lido antes do arquivo de configuração pessoal de cada usuário (.profile(root) e .bash_profile).

 ~/.bash_profile  Este arquivo reside no diretório pessoal de cada usuário. É executado por shells que usam autenticação (nome e senha). O .bash_profile contém comandos que são executados para o usuário no momento do login no sistema, após o /etc/profile. Note que este é um arquivo oculto pois tem um "." no inicio do nome. Ele aponta para o arquivo ./bashrc.

(31)

Arquivo executado no processo de logout

1. ~/.bash_logout  contém os comandos a serem executados pelo sistema no fechamento da sessão pelo usuário.

O diretório dos arquivos modelos (templates)

1. /etc/skel  Este diretório contém os modelos de arquivos “.bash_profile” e “.bashrc” que serão copiados para o diretório pessoal dos usuários no momento que for criada uma conta no sistema. Desta forma você não precisará configurar estes arquivos separadamente para cada usuário.

O arquivo de histórico dos comandos

Referências

Documentos relacionados

A Vector Network Analyser is used to generate the transmitted signal and to collect the received signals, being both in the frequency range of 100 MHz to 3 GHz.. Figure 3.4:

É sobre este documento 3 , que inclui sugestões de leitura orientada para a sala de aula por ano de escolaridade, bem como propostas de operacionalização subjacentes às

The posterior transverse variables (D1PM, D2PM and DM) presented a statistically significant difference regarding the gold standard (Typodont) for the plaster models performed

Como, para além do peso à nascença, só estava dispo- nível mais uma medição de peso no período pós-natal para cada recém-nascido e não foi possível obter medi- ções

ciado à didática (studies of translation teaching), e como sendo sinónimo de ava- liação tradutiva (translation evaluation), por sua vez o termo qualidade tradutiva

complexa. De fato, o pensamento cartesiano opera a partir de causalidades simples. Assim, as políticas públicas apenas detectam uma variável e, com isso, tendem a perder

Por último, la Convención Americana sobre Derechos Humanos (en adelante CADH) en el art. Toda persona tiene derecho a la libertad de pensamiento y de expresión. Este