CURSO LINUX Módulo Programação de Shell Scripts por Celso Kopp Webber
|
|
|
- Lorenzo de Vieira Fortunato
- 9 Há anos
- Visualizações:
Transcrição
1 CURSO LINUX Módulo Programação de Shell Scripts por Celso Kopp Webber
2
3 SUMÁRIO 1 INTRODUÇÃO 1 2 O SHELL COMO UMA LINGUAGEM DE PROGRAMAÇÃO Criando um Script 4 3 SINTAXE DO SHELL Variáveis Delimitando Strings Variáveis de Ambiente e de Parâmetros do Script Condições Estruturas de Controle Obtendo Ajuda 11 4 EXERCÍCIOS 12 Módulo Programação de Shell Scripts i
4 ii Módulo Programação de Shell Scripts
5 1 INTRODUÇÃO Basicamente, o shell é a interface com o usuário de um sistema UNIX. Apesar do UNIX possuir ambiente gráfico, as aplicações para este ambiente são escassas. Mais do que isso, as ferramentas e utilitários do sistema, tanto de uso geral, como de uso dos administradores, são essencialmente baseadas em linha de comando. Por este motivo, é praticamente impossível abandonar o ambiente de shell, baseado em linhas de comandos, em um ambiente UNIX. Este panorama tende a mudar, uma vez que algumas propostas mais amigáveis de interface com o usuário tem sido propostas, particularmente nos ambientes baseados em software de domínio público (Linux, FreeBSD, etc). Estas propostas procuram ser orientadas a mouse, na tentativa de tornar o UNIX, ao menos suas versões gratuitas, como o Linux, mais populares. O mundo da computação hoje possui usuários de praticamente qualquer nível social e cultural. Isto quer dizer que estas pessoas nem sempre são habilidosas no uso do computador, e uma interface do tipo coloque as funções disponíveis em botões que eu acho, é melhor do que uma interface ao estilo decore as teclas de atalho para realizar as funções. Enquanto o primeiro tipo de interface permite a usuários destreinados e leigos usar o computador com certa facilidade, já que as funções disponíveis estão na tela, basta clicar, o segundo tipo de interface requer treinamento, capacidade de memorização de comandos, e compreensão do funcionamento dos sistemas. A desvantagem da primeira abordagem é que o usuário torna-se escravo do computador, ou seja, se as funções disponíveis não estiverem na cara, ele não conseguirá usá-las. A desvantagem da segunda abordagem é a necessidade de treinamento e conhecimento dos sistemas a serem utilizados. Os usuários do UNIX costumam ser treinados antes de utilizá-lo. Além do mais, estes usuários tendem a aprender como funciona o sistema, decorando comandos e entendendo a filosofia do sistema operacional. O shell é a interface com o usuário UNIX, e possui dois lados distintos. Enquanto possui similaridades com o command.com do MS-DOS, pois aceita comandos do usuário, ele é na verdade muito mais poderoso, possuindo uma real linguagem de programação embutida. Enquanto os usuários do MS-DOS conseguem fazer programas de lote.bat simples, os usuários do UNIX podem escrever shell scripts complexos, e que realizam as mais diversas tarefas. O ambiente de programação do shell permite facilmente a construção de utilitários diversos, pois é uma linguagem interpretada. Isto torna o processo de depuração mais fácil, pois comandos em linhas individuais do shell script podem ser testadas diretamente no prompt do shell para ver se estão corretos. Além disso, não existe o tempo e a inconveniência de recompilar o programa a cada modificação. A utilização real de shell scripts é demonstrada pelo próprio sistema, cujo processo de boot é totalmente baseado em shell scripts. Verifique os scripts de boot existentes em seu sistema, geralmente localizados sob o diretório /etc/rc.d. O ponto forte dos shell scripts é poderem fazer uso dos vários utilitários existentes no sistema, que combinados podem gerar tarefas mais complexas. Estes utilitários vão desde a busca por strings em arquivos (grep), procura por arquivos no sistema (find, whereis), até comandos de uso comum, como ls, cp, mv, rm, entre outros. Os shell scripts fazem forte utilização da própria capacidade do shell em combinar utilitários, como os conceitos de redirecionamento (< e >), pipes ( ), etc. Este texto tem como objetivo apresentar uma introdução a shell scripts, não se tratando de Módulo Programação de Shell Scripts 1
6 uma fonte completa sobre o assunto. A relação de bibliografia traz fontes interessantes para aprofundamento no assunto. As descrições e exemplos a seguir também assumem que o leitor conhece o sistema UNIX e seus diversos utilitários, bem como conhece os recursos avançados do shell como redirecionamento e pipes. O shell utilizado é o Bourne Shell, por existir em todos os UNIX. Além disso, os shells mais modernos são basicamente extensões do Bourne Shell. Particularmente utilizaremos o bash, o Bourne Again Shell, que é o shell padrão do sistema operacional Linux. 2 Módulo Programação de Shell Scripts
7 2 O SHELL COMO UMA LINGUAGEM DE PROGRAMAÇÃO Existem duas maneiras de escrever programas diretamente no shell. Ou o usuário digita diretamente os comandos no prompt, ou um arquivo contendo os comandos é criado, sendo dada permissão de execução a este arquivo, para posteriormente ser utilizado como um programa comum. Na primeira forma, o usuário digita os comandos como normalmente o faz. Entretanto, alguns comandos aceitos pelo shell normalmente possuem mais de uma linha para estarem completos. Sempre que o shell entende que um comando não foi terminado, um prompt diferente é apresentado, informando o usuário a necessidade de continuar o comando. Em nosso caso, este prompt adicional é o sinal de maior ( > ), enquanto o prompt usual é o sinal de dólar ( $ ), ou cerquilha ( # ) para o usuário root. Vejamos dois exemplos: $ for arquivo in * > do > if grep l TEXTO $arquivo > then > more $arquivo > fi > done arquivo1.txt Esta eh uma linha contendo a palavra TEXTO. Bom proveito! $ Neste caso, o comando for do não termina enquanto a palavra done não for encontrada, indicando o fim do comando for do. Observe também que o comando if then é terminado com a palavra fi. O exemplo teria ficado mais claro se identação fosse utilizada: $ for arquivo in * > do > if grep l TEXTO $arquivo > then > more $arquivo > fi > done arquivo1.txt Esta eh uma linha contendo a palavra TEXTO. Bom proveito! $ Vale notar que o comando for é acompanhado de um do. Entretanto são comandos separados, e por isso vêm em linhas diferentes. Para tornar mais legível ainda nosso programa, podemos colocar os dois comandos na mesma linha, separados por ponto-e-vírgula, da mesma forma como faríamos no shell para executarmos dois comandos em seqüência. O mesmo fazemos com o if then: $ for arquivo in * ; do > if grep l TEXTO $arquivo ; then > more $arquivo > fi > done arquivo1.txt Esta eh uma linha contendo a palavra TEXTO. Bom proveito! $ Explicando o exemplo, o comando for irá atribuir à variável arquivo em cada iteração do Módulo Programação de Shell Scripts 3
8 laço, o nome de cada arquivo existente no diretório corrente, o que é especificado com o asterisco ( * ). A cada iteração, o comando grep l TEXTO $arquivo procura pela palavra TEXTO no arquivo indicado pelo valor da variável arquivo. O valor de uma variável é sempre referenciado colocando-se um sinal de dólar ( $ ) antes do nome da variável. Neste caso, o comando grep com a opção l apenas mostra o nome do arquivo que contém o TEXTO procurado, e não seu conteúdo. Como o comando grep estava dentro de um if, caso tenha tido sucesso, isto é, TEXTO foi encontrado dentro de $arquivo, o comando more $arquivo é executado, o que fará com que o conteúdo do arquivo seja mostrado tela a tela. Em alguns casos, é desejável obter o resultado de um comando, isto é, aquilo que ele mostra na tela, e aplicá-lo a outro comando. Isto pode ser feito de duas maneiras: $ more `grep l TEXTO *` Esta eh uma linha contendo a palavra TEXTO. Bom proveito! ou... $ more $(grep l TEXTO *) Esta eh uma linha contendo a palavra TEXTO. Bom proveito! Neste exemplo, o comando more irá mostrar na tela o conteúdo do arquivo cujo nome será o resultado do comando grep l TEXTO *. Observe que existem duas formas: ou o comando a ser executado deve ser delimitado por crase, ou ser envolvido por $( ). O exemplo a seguir mostra a diferença em usar crase ( ` ) ou $( ) envolvendo um comando: $ more $(grep l TEXTO *) Esta eh uma linha contendo a palavra TEXTO. Bom proveito! $ grep l POSIX * more arquivo1.txt No segundo comando, o resultado do comando grep (arquivo1.txt) é passado pelo pipe para o comando more, que irá mostrá-lo tela a tela. No primeiro comando, o comando more irá utilizar como parâmetro o resultado do comando grep. 2.1 Criando um Script Para criar um script é fácil. Basta criar um arquivo contendo todos os comandos desejados para o script, utilizando para isto qualquer editor de textos (p. ex. vi): #!/bin/sh # primeiro.sh # Este arquivo eh um script que procura por todos os arquivos contendo a # palavra TEXTO no diretorio atual, e entao imprime estes arquivo em # stdout for arquivo in *; do if grep q TEXTO $arquivo; then more $arquivo fi done exit 0 Uma vez salvo o arquivo como nome primeiro.sh, precisamos torná-lo executável: 4 Módulo Programação de Shell Scripts
9 $ chmod +x primeiro.sh Neste caso demos permissão de execução para todos. Se isto não for feito, o UNIX não terá como executar o arquivo, por causa de suas permissões. Duas observações são necessárias. Primeiro, observe que na primeira linha, #!/bin/sh, está sendo informado ao sistema operacional, qual programa irá interpretar os comandos que seguem, já que o conteúdo do arquivo não é um programa binário executável do sistema. Quando o UNIX encontra os caracteres #! nos dois primeiros bytes de um arquivo, ele trata o restante da linha como a localização do programa que irá interpretar o restante do script. Programas executáveis possuem outros bytes que dizem ao sistema operacional o tipo do executável. Isto garante ao UNIX uma forma de reconhecer vários tipos de executáveis. A segunda observação é que as linhas que começam com cerquilha ( # ) são tratadas como comentários. Somente a primeira linha, se possuir o caractere cerquilha seguido de uma exclamação ( #! ), é que será tratada de forma diferente. A única diferença para o nosso exemplo anterior é que incluímos o comando exit 0 no final do script. Apesar de não ser obrigatório, é boa prática colocá-lo indicando aos programas que invocarem nosso script se a execução foi bem sucedida ou não. No UNIX, quando um programa retorna zero ( 0 ), ele FOI bem sucedido. Quando retorna algo diferente de zero, ele NÃO FOI bem sucedido. Este é o método que o comand if do nosso script utiliza para saber se o comando grep foi bem sucedido ou não. O programa grep foi construído para retornar zero quando consegue encontrar a palavra especificada, e diferente de zero quando não conseguir. Pode acontecer de ao tentarmos executar nosso script, recebermos uma mensagem de que ele não existe: $ primeiro.sh bash: primeiro.sh: command not found Isto acontece porque normalmente o diretório corrente não faz parte do caminho de procura por executáveis, definido pela variável de ambiente PATH. A solução é incluir o diretório atual, representado pelo ponto (. ) no PATH, ou então dizermos explicitamente que queremos executar o script no diretório corrente: $./primeiro.sh Esta eh uma linha contendo a palavra TEXTO. Bom proveito! # palavra TEXTO no diretorio atual, e entao imprime estes arquivo em Curiosamente, nosso script também encontrou a palavra TEXTO existente nos comentários do nosso próprio script, por isso foi mostrada! Módulo Programação de Shell Scripts 5
10 3 SINTAXE DO SHELL Após os exemplos iniciais, é hora de entrarmos em maiores detalhes do poder de programação do shell. O shell é particularmente fácil de aprender, não apenas porque a linguagem é fácil, mas porque é possível construir pequenos fragmentos do script separadamente, e mais tarde uní-los em um único script mais poderoso. 3.1 Variáveis Não é necessário declarar variáveis no shell antes de usá-las. Elas simplesmente são criadas após o primeiro uso, e destruídas após o shell terminar. Todas as variáveis são na verdade do tipo string, mesmo que valores numéricos tenham sido atribuídos a elas. Na verdade, uma string com os números é atribuída a variáveis quando se deseja trabalhar com valores numéricos. O shell e outros utilitários irão converter a string para um valor numérico quando for necessário usá-los. Outro ponto importante é que os nomes das variáveis são sensíveis ao contexto, isto é, a variável teste é diferente de Teste, e também diferente de TESTE, assim como das outras combinações possíveis. Como dissemos anteriormente, o conteúdo de uma variável é acessado colocando-se o símbolo dólar ( $ ) antes do seu nome. Para vermos seu conteúdo, podemos utilizar o comando echo: $ saudacao=oi $ echo saudacao irá imprimir a palavra saudacao saudacao $ echo $saudacao irá imprimir o conteúdo da variável saudacao Oi $ saudacao= Ola mundo se a string contem espacos, limitar por aspas ou apostrofos $ echo $saudacao Ola mundo $ saudacao=7+5 valores numericos sao considerados strings $ echo $saudacao 7+5 Outra forma de atribuir valor a uma variável é utilizando o comando read. Este comando lê caracteres do teclado até que a tecla ENTER seja pressionada: $ read var Estou digitando isso $ echo $var Estou digitando isso Uma terceira maneira de atribuir valores a variáveis é utilizando a crase ou $( ), como vimos nos exemplos anteriores: $ var=$(ls l arquivo1.txt) $ echo $var -rwxrwxr-x 1 celso celso May 31 01:32 arquivo1.txt Uma última observação sobre variáveis: quando um valor estiver sendo atribuído, o sinal de igual ( = ), deve se usado entre o nome da variável e o valor correspondente sem espaços. 6 Módulo Programação de Shell Scripts
11 3.1.1 Delimitando Strings Vimos que quando strings contêm espaços, precisamos delimitá-las com aspas ( ) ou apóstrofos ( ). Existe uma diferença entre utilizar um ou outro: $ var= Oi galera $ echo $var Oi galera $ echo $var Oi galera $ echo $var $var $ echo dolar=\$, aspa=\, apostrofo=\ dolar=$, aspa=, apostrofo= $ echo dolar=\$, aspa=\, apostrofo=\ \ dolar=\$, aspa=\, apostrofo=\ $ var2= var=$var $ echo $var2 var=oi galera $ var2= var=$var $ echo $var2 var=$var Deste exemplo concluímos que usando aspa ( ) o shell expande nomes de variáveis dentro da string para seu valor correspondente, enquanto utilizando apóstrofo ( ), o shell trata todo o texto literalmente como foi digitado. Ao criar scripts, a melhor recomendação é sempre testar antes como o shell reage aos vários caracteres especiais dentro de uma string delimitando-os ou não por aspas ou apóstrofos Variáveis de Ambiente e de Parâmetros do Script Quando shell script inicia, algumas variáveis herdadas do shell pai são herdadas. Normalmente, as variáveis utilizadas pelo shell são todas em letras maiúsculas, para caracterizar variáveis de ambiente. As variáveis utilizadas pelos scripts em geral são em letras minúsculas, para diferenciá-las das variáveis definidas pelo próprio shell. Principais variáveis de ambiente: Variável de Ambiente Descrição $HOME O diretório pessoal do usuário corrente $PATH Uma lista de diretórios separados por dois-pontos ( : ) onde o shell irá procurar por comandos $PS1 O prompt de comandos, normalmente o símbolo dólar ( $ ) $PS2 O prompt secundário para dados adicionais de um comando, normalmente o símbolo maior ( > ) $IFS Um separador de campos interno do shell. Pode ser uma lista de caracteres. Normalmente quando o shell está lendo dados de stdin, os caracteres espaço, tabulação, e enter são separadores Quando o shell script é invocado, algumas variáveis indicam informações úteis sobre seu nome, os parâmetros que lhe foram passados, e o número do processo que o criou: Módulo Programação de Shell Scripts 7
12 Variável de Parâmetro Descrição $0 O nome do arquivo correspondente ao script chamado, incluindo o caminho de diretório $1, $2, Os argumentos passados para o script, onde $1 é o primeiro, e $2 é o segundo, e assim por diante $# A quantidade de argumentos passados $* Uma lista de todos os parâmetros, separados pelo primeiro caractere da variável IFS $@ Semelhante ao $*, mas a lista é separada por espaços, desconsiderando o valor de IFS $$ O número do PID do shell que está interpretando o script 3.2 Condições Uma das principais funções em qualquer linguagem de programação é a do teste condicional. Em shell scripts isto não é diferente. Freqüentemente é necessário verificar por determinada condição para saber que ação tomar. Já vimos que o comando if then fi serve para testar a condição de saída de um programa. Entretanto, é necessário um mecanismos de fazer testes lógicos quaisquer, por exemplo, se uma variável é igual a outra, ou se um um arquivo existe. O comando test implementa os diversos testes lógicos necessários. Assim, o comando if testa o resultado do comando test. Se foi bem sucedido, executa os comandos dentro do corpo do if, caso contrário executa os comandos dentro do corpo do ramo else (se existir). Uma das formas mais simples de uso do comando test é o teste da existência de um arquivo. Isto é feito na forma test f nome-do-arquivo. Vejamos um exemplo em um fragmento de script: if test f arquivo1.txt then... fi Como o comando test normalmente é usado com o comando if, um sinônimo para o comando é substituir test por colchetes delimitando a condição: if [ f arquivo1.txt ] then... fi É de vital importância não esquecer que deve existir espaço após o abre-colchete ( [ ) e antes do fecha-colchete ( ] ). Para memorizar esta restrição, lembre-se que um comando sempre precisa vir seguido de espaço. Neste caso, o nome do programa é [. Aproveite este momento e verifique no seu sistema se existe um programa chamado [. Lembre-se que o comando if pode ser usado com a cláusula else: if [ $var = Oi galera ] then... else... fi 8 Módulo Programação de Shell Scripts
13 Principais comparações do comando test: Comparação de Strings Resultado string Verdadeiro se a string não é vazia string1 = string2 Verdadeiro se as strings forem iguais string1!= string2 Verdadeiro se as strings forem diferentes -n string Verdadeiro se a string é não nula -z string Verdadeiro se a string é nula (vazia) Quando estiver sendo utilizado o valor de uma variável para comparação como string, precedê-la de dólar ( $ ) para obter seu valor. Por segurança, sempre delimitar variáveis por aspas ( ) para que strings nulas não gerem um erro. Comparação Aritmética Resultado expressão1 eq expressão2 Verdadeiro se as expressões são iguais expressão1 ne expressão2 Verdadeiro se as expressões não são iguais expressão1 gt expressão2 Verdadeiro se expressão1 é maior que expressão2 expressão1 ge expressão2 Verdadeiro se expressão1 é maior ou igual que expressão2 expressão1 lt expressão2 Verdadeiro se expressão1 é menor que expressão2 expressão1 le expressão2 Verdadeiro se expressão1 é menor ou igual que expressão2! expressão! nega a expressão, e retorna verdadeiro se a expressão é falsa Testes com Arquivos Resultado -d arquivo Verdadeiro se arquivo é um diretório -e arquivo Verdadeiro se arquivo existe -f arquivo Verdadeiro se arquivo é um arquivo comum -g arquivo Verdadeiro se arquivo possui o bit SGID ligado -r arquivo Verdadeiro se arquivo pode ser lido (readable) -s arquivo Verdadeiro se arquivo possui tamanho diferente de zero -u arquivo Verdadeiro se arquivo possui o bit SUID ligado -w arquivo Verdadeiro se arquivo pode ser escrito (writeable) -x arquivo Verdadeiro se arquivo pode ser executado (executable) 3.3 Estruturas de Controle O comando if é a principal estrutura de controle de shell scripts. Além deste, existem algumas estruturas que permitem repetição. Uma delas é o comando for, que possui o formato: for variavel in valores do comandos done A única restrição do for em relação ao comando correspondente em uma linguagem de programação tradicional, é que não é possível especificar uma faixa de valores para o for, como normalmente ele é utilizado. Assim, para fazer a variável variar de 1 a 5 em uma estrutura de repetição utilizando o comando for, seríamos obrigados a fazer: Módulo Programação de Shell Scripts 9
14 for i in ; do comandos done Por outro lado, o comando for trabalha com listas de forma bastante simples: $ for usuario in $(cut f1 d: /etc/passwd) > do > echo $usuario > done root bin adm... Um tipo de laço mais adequado a repetições em um certo número conhecido, é o while. Interessante é que nas linguagens de programação tradicionais, o for é o mecanismo mais adequado a esta situação: while condicao do comandos done Para ilustrar seu uso, vejamos como poderíamos fazer uma repetição para 30 elementos: $ i=1 $ total=30 $ while [ $i le $total ] > do > echo $i > i=$(($i+1)) > done Note que para podermos fazer o incremento da variável i, foi utilizado um recurso introduzido pelo Korn Shell, que é o shell padrão dos UNIX atuais. A forma $((expressão)) permite uma operação aritmética com variáveis e constantes numéricas. Uma outra estrutura de repetição simimar ao while, mas com o teste de condição invertido, é: until condicao do comandos done A única diferença para o while é que o until executa enquanto a condição é falsa, ou seja, até que a condição seja verdadeira. A última estrutura de controle, e que é utilizada por exemplo em scripts de boot estilo System V, que aceitam as opções start ou stop (vide /etc/rc.d/init.d/smb), é o case: case variavel in padrao [ padrão ]...) comandos;; padrao [ padrão ]...) comandos;; esac 10 Módulo Programação de Shell Scripts
15 #!/bin/sh Vejamos um exemplo: echo Agora jah eh noite? Responda sim ou nao read noite case $noite in sim Sim SIM ) echo Boa noite! ;; nao Nao NAO ) echo Eh hora de trabalhar! ;; sei la ) echo Olhe pela janela, por favor. ;; * ) echo Acho que voce nao entendeu a pergunta ;; esac exit 0 Preparando e executando o script temos: $ chmod +x testa-noite.sh $./testa-noite Agora jah eh noite? Responda sim ou nao de tarde Acho que voce nao entendeu a pergunta 3.4 Obtendo Ajuda Muitas outras características estão presentes no shell. Muitas vezes o programador fica amarrado aos próprios utilitários, que são importantes para a construção de scripts funcionais. Para ajudar na sintaxe dos comandos, o shell possui um comando de ajuda interno. Este comando, chamado help, dá a lista de comandos disponíveis, ou a correta sintaxe de um comando específico solicitado. help [ comando ] Por exemplo, obtendo ajuda sobre o comando while: $ help while while: while COMMANDS; do COMMANDS; done Expand and execute COMMANDS as long as the final command in the `while' COMMANDS has an exit status of zero. Outra fonte importantíssima de informação é a página de manual do próprio shell. Muitas coisas deixadas de fora neste texto podem ser obtidas pelo man. Módulo Programação de Shell Scripts 11
16 4 EXERCÍCIOS 1. Faça um script que verifique se dois arquivos são hardlinks um do outro, imprimindo o texto <arquivo1> é link de <arquivo2> caso sejam, ou o texto <arquivo1> não é link de <arquivo2> caso não sejam. Os parâmetros <arquivo1> e <arquivo2> devem ser informados na linha de comando para o seu script. 2. Crie um utilitário de criação de contas de usuários. Seu utilitário deve criar a entrada correspondente ao usuário no arquivo /etc/passwd, bem como a entrada correspondente no arquivo /etc/group, de forma que o UID e o GID utilizados sejam únicos e imediatamente superiores aos maiores UID e GID utilizados no sistema. Não se esqueça de criar o diretório home do usuário, com as permissões corretas. 12 Módulo Programação de Shell Scripts
17 BIBLIOGRAFIA 1. FRISCH, Ællen. Essential System Administration. 2 nd. ed. O Reilly & Associates, DOUGHERTY, Dale; ROBBINS, Arnold. sed & awk. 2 nd. ed. O Reilly & Associates, MATTHEW, Neil; STONES, Richard. Beginning Linux Programming. Wrox Press, NEWHAM, Cameron; ROSENBLATT, Bill. Learning the bash Shell. O Reilly & Associates, Módulo Programação de Shell Scripts 13
18 Dúvidas, críticas e sugestões sobre esta apostila: mailto:[email protected] 14 Módulo Programação de Shell Scripts
Noções de Informática
Concurso Público 2016 Noções de Informática 1º Caderno Conteúdo Conhecimentos básicos de linguagens de programação relativos a Lógica e Estrutura de programação. Conceitos básicos de Datamining e Datawarehouse.
Shell Script. Rafael Silva Guimarães
Shell Script Rafael Silva Guimarães O que é Shell O Shell é o "prompt" da linha de comando do Linux, que recebe os comandos digitados pelo usuário e os executa. Mas o Shell é muito mais poderoso que seu
Aula 9: Shell Script
FIC Configuração de Redes de Computadores Linux 23/05/2017 Aula 9: Shell Script Professor: Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello 1 O interpretador de comandos O shell consiste em um
Aula 5 e 6: Introdução ao shell
Programação para Redes de Computadores 17/03/014 Aula 5 e 6: Introdução ao shell Professor: Jorge H. B. Casagrande Notas de aula adaptada da original do prof. Emerson R. de Mello [email protected]
Introdução a Sistemas Abertos. Shell Script
Introdução a Sistemas Abertos Shell Script Introdução O que é shell? É o programa que permite ao usuário interagir com o sistema operacional através da linha de comando. O shell possui estruturas de linguagem
Estácio-FIC Graduação em Redes de Computadores
Estácio-FIC Graduação em Redes de Computadores Disciplina Programação para Servidores Prof. Andrey Halysson Lima Barbosa Aula 3 Variáveis e testes (continuação) Sumário Controle de fluxo com if/; Teste
Conceitos Básicos de Scripts
Conceitos Básicos de Scripts Programação de Scripts Prof. Kleber Rezende [email protected] O que é o shell? O Shell pode ser definido como o interpretador de instruções e comandos. Quando
Administração de Redes de Computadores
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Administração de Redes de Computadores Profs.:
Programação de Scripts Considerações Gerais. Adaptado do material do Prof. Mário Fiocco Júnior
Programação de Scripts Considerações Gerais Adaptado do material do Prof. Mário Fiocco Júnior O que é o shell? O Shell pode ser definido como o interpretador de instruções e comandos. Quando o usuário
Introdução a shell scripts
Introdução a shell scripts O que é? O que é Windows e Linux Shell script Um script é um arquivo que guarda vários comandos e pode ser executado sempre que preciso. Os comandos de um script são exatamente
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação. Shell Script
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação Shell Script Sistemas de Software Livre Site: http://jeiks.net E-mail: [email protected] Conteúdo
Programação Shell Script: como dominar seu terminal
Programação Shell Script: como dominar seu terminal 14 de Outubro de 2008 1 Teclas de Atalho Jobs Personalizando 2 Criando um script Variáveis Argumentos Laços condicionais Laços de repetição 3 4 Teclas
105 Shell Script. João Bosco Teixeira Junior
105 Shell Script João Bosco Teixeira Junior Compilação x interpretação Compilação Fontes Geração do código Pré Processador Compilador Montador(Assembler) Bibliotecas Compartilhadas Ligador (Linker) Executável
3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Redes de Computadores
Redes de Computadores Shell Gustavo Reis [email protected] 1 Interpretador de comandos Interpreta as instruções enviadas pelo usuário e seus programas ao sistema operacional (kernel) Executa
ADMINISTRAÇÃO DE REDES I LINUX. Shell Script. Frederico Madeira LPIC 1, CCNA
ADMINISTRAÇÃO DE REDES I LINUX Shell Script Frederico Madeira LPIC 1, CCNA [email protected] www.madeira.eng.br Shell É qualquer interface de usuário para o SO Unix. que receba do usuário um input e
1º Ano - Técnico em Informática Integrado. Sistemas Operacionais
1º Ano - Técnico em Informática Integrado Sistemas Operacionais Navegação entre diretórios Antes de começar a trabalhar diretamente com os comandos do Linux, é necessário navegarmos entre os diretórios
Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática
Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais Curso Técnico em Informática SUMÁRIO SHELL SCRIPT COM IF... 3 OPERADORES RELACIONAIS... 3 COMPARAÇÕES EM SCRIPTS... 3 MAIS OPERADORES...
Shell scripts - Bash
Shell scripts - Bash O conteú desse cumento é de autoria Prof. Dr. Carlos Maziero Conteú Obti em: http://www.ppgia.pucpr.br/~maziero/ku.php/unix:shell_scripts Estrutura geral de um script Shell Os arquivos
Programação Aplicada a Redes de Computadores. Faculdade IESGO 2º Sem 2016
Programação Aplicada a Redes de Computadores Faculdade IESGO 2º Sem 2016 O shell é o "prompt" da linha de comando do Unix e Linux, é o servo que recebe os comandos digitados pelo usuário e os executa.
Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016
Mini apostila de Python - Oficina de Vestibulandos PET Computação - UFPR September 2016 1 Sumário 1 Introdução 3 2 Obtenção e Instalação 3 3 Variáveis 3 4 Operações Matemáticas 5 5 Entrada de Dados 6 6
Shell Script. Básico do básico
Shell Script Básico do básico Os sistemas Unix like, como o GNU/Linux, possuem camadas. Estas camadas são o hardware, o kernel, os programas/comandos e o shell. O shell é a camada mais externa do sistema
Variáveis. Você pode ver as variáveis do sistema com os comandos printenv, env e set como mostra o exemplo abaixo:
Variáveis As variáveis são posições na memória do computador onde ficam armazenadas n temporariamente algum valor para ser usadas por programas ou scripts que no Linux são precedidas pelo caractere dólar
5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.
3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos
Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys
Introdução ao Script Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys O que é Bash Script? O que é Bash + Script? O que é Bash? O que é Bash? Ele é um
Um programa awk contém uma seqüência de padrões (expressões regulares) e ações da seguinte forma:
Awk (linguagem de programação) Awk é um grande utilitário de interpretação da linguagem de programação awk para manipulação de dados e texto de programação em shell script, nos quais é bastante utilizado
ADMINISTRAÇÃO DE SISTEMAS UNIX Aula Prática 01 Sistemas Operacionais Gil Eduardo de Andrade
ADMINISTRAÇÃO DE SISTEMAS UNIX Aula Prática 01 Sistemas Operacionais Gil Eduardo de Andrade Introdução Os sistemas UNIX/Linux são caracterizados por serem: Interativo usuário requisita os comandos e obtém
Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)
Sistemas Operacionais Laboratório 1 () Roteiro Linux em modo texto Acesso Interpretador de comandos Comandos Básicos Tratamento de Arquivos e Diretórios (Pasta*) Permissões Processos Editor de Texto Criação
Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1
INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles
Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys
Script Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys Redirecionamento Entrada padrão Já vimos como redirecionar de programa para programa Mas como redirecionar
Scripts Shell. João Medeiros ([email protected]) 1 / 20
Scripts Shell João Medeiros ([email protected]) 1 / 20 2 / 20 Principais shell conhecidos Bourne Shell (sh) Korn Shell (ksh) C Shell (csh) Bash - Bourne Again Shell (bash) mais utilizada no linux O
Introdução a. Shell Script. Clésio Matos [email protected]
Introdução a Shell Script Clésio Matos [email protected] 1 Plano de apresentação O que são shell scripts Comandos básicos Estruturas básicas do BASH - Comandos condicionais - Comandos de repetição
Laboratório de Programação II
Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;
Working 03 : Conceitos Básicos II
Universidade Federal do Espirito Santo Centro Tecnologico Working 03 : Conceitos Básicos II Objetivos: Dominar a construção de estruturas de seleção em C; Aperfeiçoarse na resolução de problemas, da primeira
Introdução a Sistemas Abertos. Ambiente shell
Introdução a Sistemas Abertos Ambiente shell Conteúdo Programático Login e Logout Iniciando e Desligando o Sistema Tipos de arquivo Texto Binário Arquivos e Diretório Manipulação de arquivos e diretório
Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Programação Prof. Dr. Bruno Moreno [email protected] O objetivo dessa disciplina é aprender uma linguagem de programação?? 2 Objetivo da
Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)
Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA) Aula 03 Visão Geral do Linux Objetivos Entender de forma básica o funcionamento do sistema Linux; Aprender as principais
FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho de Shellscript Atividade 5 Introdução a Informática
FACULDADE DE TECNOLOGIA SENAC PELOTAS Trabalho de Shellscript Atividade 5 Introdução a Informática Luis Gustavo Spern Barreto Análise e Desenvolvimento de Sistemas, 2013 Trabalho de Shellscript ADS 2013
C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P
C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P SINTAXE BÁSICA Neste capítulo vamos apresentar a estrutura básica do PHP. Para iniciar a construção de um
Prof. Esp. Andrew Rodrigues 1
Prof. Esp. Andrew Rodrigues www.andrewrodrigues.com.br www.andrewrodrigues.com.br 1 PHP em Ação PHP é uma linguagem de programação que pode fazer todo o tipo de coisas: avaliar dados de formulários enviados
Figura 1: Operações para gerar um programa executável.
Uma jornada de mil milhas começa sempre com um simples passo. Lao Tse. PRIMEIROS PASSOS Para poder construir programas em C é necessário utilizar um ambiente de desenvolvimento. Por ambiente de desenvolvimento
Programação para Servidores. Cassio Diego
Programação para Servidores Cassio Diego [email protected] 1 Unidade 2 2. PROGRAMAÇÃO SCRIPT 2.1. Variáveis 2.2. Testes 2.3. Operadores 2.4. Loops e desvios 2 Programação script VARIÁVEIS É um local
Variáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Administração de sistemas Linux. Estrutura de diretórios Linux O diretório /etc
Administração de sistemas Linux Estrutura de diretórios Linux O diretório /etc O diretório /etc guarda os arquivos de configuração do sistemas, dos serviços disponíveis e dos aplicativos instalados. Conhecer
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
UFRJ IM - DCC. Departamento de Ciência da Computação. Tópicos Especiais em Programação. 14/10/2013 Profª Valeria Menezes Bastos 1
UFRJ IM - DCC Departamento de Ciência da Computação Tópicos Especiais em Programação 14/10/2013 Profª Valeria Menezes Bastos 1 Programação em Shell Comandos básicos bash Ver LDP, manuais UNIX, etc. Programação
Introdução a Administração de Sistemas GNU/Linux
Curso de extensão da Faculdade Ruy Barbosa Introdução a Administração de Sistemas GNU/Linux Dedicasse especial a Rogério Bastos e ao GRACO (Gestores da Rede Acadêmica de Computação) do DCC UFBA Paul Regnier
Preparatório LPIC-101
Preparatório LPIC-101 Professor M.Sc. Thiago Leite [email protected] 1 Bibliografia Recomendada Certificação Linux LPI Nível 1: Exames 101 e 102 da O Reilly 2 Bibliografia Recomendada Certificação
LINGUAGEM C: COMANDOS DE REPETIÇÃO
LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições
Programação em Shell. Taisy Weber
Programação em Shell Taisy Weber Programação em shell Comandos básicos bash LDP, manuais para usuários manuais UNIX e Linux Programação em shell pipe, Matthew & Stones cap 2 redirecionamento de entrada
Programação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto [email protected] [email protected] 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Introdução a Programação Web com PHP
AULA: Introdução a Programação Web com PHP Programação para Internet http://docentes.ifrn.edu.br/albalopes [email protected] Breve histórico A primeira versão surgiu em meados de 1995, escrita por
Uso Eficiente da Linha de Comando com os Shells do Unix. Fábio Olivé ([email protected])
Uso Eficiente da Linha de Comando com os Shells do Unix Fábio Olivé ([email protected]) GUI CLI Tópicos História da Linha de Comando Shells mais comuns Interpretação e transformações da linha digitada
A Linguagem C. A forma de um programa em C
A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de
Programação Shell Script: como dominar seu terminal (versão 2)
Programação Shell Script: como dominar seu terminal (versão 2) 21 de Outubro de 2010 Licença Programação Shell Script: como dominar seu terminal (versão 2), por, é licenciado sob a Atribuição-Uso não-comercial-compartilhamento
Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano Objetivo: Apresentar a classe Scanner e as principais estruturas de controle da linguagem
Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos
MCG114 Programação de Computadores I Profa. Ambiente de Programação, rastreamento e entrada de dados 1 2 Ambiente Python para Programação Ambiente Python para Programação Até agora... Comandos e funções
CEFET SC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO EM TELECOMUNICAÇÕES REDES DE COMPUTADORES/TELEFONIA DISCIPLINA DE SISTEMAS OPERACIONAIS
CEFET SC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO EM TELECOMUNICAÇÕES REDES DE COMPUTADORES/TELEFONIA DISCIPLINA DE SISTEMAS OPERACIONAIS Lista de Comandos: Manipulação de diretórios cd, pwd, ls, mkdir, rmdir
Aula 3 Primeiros programas
Aula 3 Primeiros programas FACOM-UFMS 2012 OBJETIVOS DA AULA Introdução ao CodeBlocks; Criação dos primeiros programas; Esta aula foi baseada nos capítulos 3 e 4 da apostila de Programação de Computadores
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
Programação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
Programação Orientada a Objetos - 3º semestre AULA 01 Prof. André Moraes
Pág 3 Programação Orientada a Objetos - 3º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Programação Orientada a Objetos tem por objetivo promover o estudo
ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior
ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,
Preparatório LPIC-1 Tópico 103
Preparatório LPIC-1 Tópico 103 Professor M.Sc. Thiago Leite [email protected] 1 Tópico 103 Visão Geral Trabalhar em linha de comandos Processar arquivos e fluxos de textos Gestão básica de arquivos
4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Aula 4 Introdução ao C
Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções
Programação Shell Script: como dominar seu terminal
Programação Shell Script: como dominar seu terminal 14 de Outubro de 2008 1 2 Sistemas Operacionais Shell 3 4 5 O que é Shell? Programa interpretador de instruções Por que utilizar o Shell? Facilidade
Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Python Prof. Dr. Bruno Moreno [email protected] O objetivo dessa disciplina é aprender Python? 2 Objetivo da disciplina O objetivo da disciplina
Estruturas de Repetição. for() while() do-while() break; continue;
Estruturas de Repetição for() while() do-while() break; continue; 1 Auto-Ajuda (!) Como ajudar a solucionar erros básicos do meu programa? Verificar os ; Verificar se não há comandos em maiúsculas; Verificar
Admistração de Redes de Computadores (ARC)
Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo [email protected] Shell Quem usa Linux conhece
Introdução ao SciLab. SciLab O que é? Onde obter o programa:
Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010
Curso de PHP. FATEC - Jundiaí
Curso de PHP ATEC - Jundiaí Aspas Invertidas Ao utilizarmos as aspas invertidas como delimitadores, estaremos usando uma função muito interessante que o PHP oferece, que é executar comandos do sistema
Shell Script. Arthur, Luis Filipe, Rodrigo
Shell Script Arthur, Luis Filipe, Rodrigo Linguagem Script Linguagem de script (também conhecido como linguagem de scripting, ou linguagem de extensão) são linguagens de programação executadas do interior
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho [email protected] Material produzido pelo professor: Leandro Augusto Frata Fernandes ([email protected])
Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações
Conceitos Básicos Linguagem C
Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS [email protected] 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo
Linguagem C Entrada/Saída (console)
Linguagem C Entrada/Saída (console) Objetivos Nos artigos anteriores foram utilizadas as funções scanf() e printf(), porém não entramos em maiores detalhes. Agora estudaremos essas e outras funções de
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
