Вы находитесь на странице: 1из 20

Introduo ao Shell Scripting

Apostila Introduo ao Shell Scripting

2009

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting

Sumrio
Introduo.............................................................................................................................................3 Shell.................................................................................................................................................3 Scripts..............................................................................................................................................3 Shell Scripting..................................................................................................................................4 Primeiro Script .....................................................................................................................................4 Organizando.....................................................................................................................................4 Hello World......................................................................................................................................4 Nomenclatura de ShellScripts..........................................................................................................5 Executando o ShellScript.................................................................................................................5 Possveis erros..................................................................................................................................6 Aprimorando o script............................................................................................................................7 Perfumaria........................................................................................................................................7 Entrada pelo teclado.........................................................................................................................7 Variveis...........................................................................................................................................8 Controle de fluxo..................................................................................................................................8 Comando TEST e IF-ELIF-ELSE-FI...............................................................................................8 CASE.............................................................................................................................................10 Loops..................................................................................................................................................11 Lao FOR.......................................................................................................................................11 Lao while......................................................................................................................................12 Funes...............................................................................................................................................13 Exemplos de Scripts na Prtica..........................................................................................................13 Script backup 1..............................................................................................................................13 Scritp backup 2..............................................................................................................................14 Script backup 3..............................................................................................................................15 Download ......................................................................................................................................16 Automatizao de tarefas...................................................................................................................18 Sintaxe do cron..............................................................................................................................19 Agendando backup........................................................................................................................19 Agendando download....................................................................................................................19 Bibliografia.........................................................................................................................................20

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting

Introduo
Shell
Shell, tambm conhecida como prompt de comandos o interpretador de comandos de um sistema operacional. Sua funo interpretar os comandos que o operador insere, via teclado, devolvendo os resultados no monitor ou outro dispositivo de sada. Todos os sistemas operacionais possuem uma ou mais Shell. No mundo Unix, existem quatro Shells mais comuns, que so:

Bourne Shell: Shell padro para Unix, executado pelo /bin/sh. Foi desenvolvido por Stephen Bourne em 1975; Korn Shell: um melhoramento do Bourne Shell, executado por /bin/ksh ; C Shell: uma Shell com sintaxe parecida com a linguagem C. No tem portabilidade com o Bourne Shell, mas comum em sistemas BDS1. executado por /bin/csh Bourne Again Shell: o Shell desenvolvido pelo projeto GNU, largamente utilizado por sistemas GNU/Linux. executado por /bin/bash. Nosso minicurso ser baseado neste interpretador.

O sistema operacional Windows2 tambm tem um interpretador de comandos, chamado prompt de comandos que lembra o DOS2. Neste sistema, podem ser criados programas de lote que so anlogos, mas no portveis, com Shell scripts.

Scripts
Scripts, ou scripting, uma tcnica de programao, onde o programa escrito no precisa ser compilado para rodar. Todos os comandos do script so interpretados por um interpretador prprio para cada linguagem. Normalmente as linguagens baseadas em script tem uma estrutura de programao bastante simples. Podemos citar algumas das linguagens de script, no entanto, h uma variedade muito grande disponvel:

ShellScript; Javascript; Perl; PHP; Ruby.

1 Berkeley Software Distribution. 2 Marca registrada da Microsoft Corporation.

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting

Shell Scripting
Shell Scripting so scripts criados em linguagem Shell. Estes scripts so ento interpretados e executados pelo interpretador determinado pelo programador. Um ShellScript nada mais do que um arquivo com comandos em Shell, logicamente ordenados, para se obter um resultado til. Uma vez criado, um ShellScript pode ser reutilizado quantas vezes for necessrio. Seu uso, portanto, indicado na automao de tarefas que sero realizadas mais de uma vez. Todo sistema Unix e similares so repletos de scripts em Shell para a realizao das mais diversas atividades administrativas e de manuteno do sistema. [Wikipedia,2009] Estes scritps so largamente utilizados em gerenciamento de computadores, automatizao de backups, automatizao de tarefas, etc. Exemplos:

backup da rede que dever rodar na madrugada; inicio de compartilhamento de arquivos via torrent inicia as 0h at as 7h25min; limpeza de disco, e outros;

No arquivo do ShellScript, uma linha especial sempre a primeira linha deve ser includa identificado qual interpretador ser utilizado por aquele script. Desta forma, posso escrever um script em Korn Shell e distribuir, tendo certeza que o mesmo rodar normalmente.

#!/bin/bash para Bourne Shell Again #!/bin/sh para Bourne Shell #!/bin/csh - para C Shell

Se no for declarado qual interpretador ser usado pelo ShellScript que est sendo escrito, o mesmo ir procurar pelo interpretador padro. Porm se o cdigo ShellScript no for do padro, no rodar corretamente.

Primeiro Script
Organizando
Para organizar o resto do minicurso, iremos criar um diretrio especfico para armazenar todos os ShellScripts. Na home do usurio padro criar um diretrio scripts supondo que o usurio padro aluno:

$ mkdir /home/aluno/scripts

Hello World
O primeiro script desta apostila, tem a intenso de experimentar o elementar do Shell script. A funo do programa imprimir na tela uma mensagem. Salve o arquivo no diretrio criado no item anterior com o nome olamundo. #!/bin/bash echoOlaMundo! ShellScript 1: olamundo

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting

Nomenclatura de ShellScripts
As nicas regras para nomenclatura de ShellScripts so:

No usar caracteres especiais como espao, acentuao, caracteres diferentes como @%&*;

Os arquivos no precisam ter extenso (em contraposio ao Windows), no entanto o criador do script PODE se utilizar de extenses para facilitar a organizao. Neste minicurso, no usaremos extenso.

Executando o ShellScript Permisses de Arquivos


Em ambientes Unix Like, todos arquivos esto sujeitos s regras de permisses. Basicamente cada arquivo ou diretrio tem um conjunto de permisses RWX para Usurio, Grupo do usurio ou Outros usurios (UGO). Na tabela abaixo podemos ver um resumo das operaes RWX para arquivos e diretrios Arquivos Sigla R = Read W = Write X = eXecute Permisso Leitura do arquivo Escrita/modificacao no arquivo Execuo do arquivo (caso seja ShellScript ou binrio Sigla R = Read W = Write X = eXecute Diretrios Permisso Listar arquivos do diretrio Modificar o contedo do diretrio Entrar no diretrio

Tabela 1: permisses rwx para Unix Like Na tabela abaixo, vemos uma captura de tela de um terminal, mostrando as permisses, o dono e o grupo dos arquivos e diretrio.

jose@aragogue:~/scripts$ ls -l drwxr-xr-x 2 jose casa 4096 Out 26 13:22 diretorio -rwxr-xr-x 1 jose casa 22 Out 25 22:41 teste -rwxr-xr-x 1 jose casa 18 Out 25 22:41 teste~
Tabela 2: ls -l Para ALTERAR as permisses, o comando utilizador chmod . Podemos atribuir ou retirar permisses para cada nvel de acesso Usurio, Grupo ou Outros. Este comando tem algumas variaes, e nesta apostila apresentamos o formato mais simples. Considerando ShellScript olamundo criado no primeiro exemplo, vamos s permisses.

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting


Permitir leitura,escrita e execuo ao Usurio $ chmod u+rwx olamundo Permitir somente leitura e execuo ao Grupo $ chmod u+rx-w olamundo Permitir somente leitura aos Outros $ chmod u+r-xw olamundo

No quadro abaixo, vejamos o resultado:

jose@aragogue:~/scripts$ ls -l drwxr-xr-x 2 jose casa 4096 Out 26 13:22 diretorio -rwxr-xr-- 1 jose casa 22 Out 25 22:41 olamundo
Tabela 3: ls -l aps modificaes

Um pouco de segurana
No recomendado criar ShellScript com usurio root, e nem com setuid3 ativado. Esta prtica REPRESENTA UM ALTO RISCO DE SEGURANA AO SISTEMA. Este risco est na possibilidade de um usurio malicioso modificar o contedo do ShellScript para obter acesso privilegiado no autorizado no sistema. Se precisar criar um ShellScritp como root, deve-se usar permisses restritivas, bloqueando RWX para Grupo e Outros.

Executando
Para executar qualquer arquivo, scritp ou binrio, precisamos do curinga ./ antes do arquivo. Ento no caso do nosso ShellScritp fica assim:

aluno@cefet:~/scripts$ ./olamundo

Ou seja, o curinga ./ antes, significa execute olamundo.

Possveis erros
1. bash: ./teste: Arquivo ou diretrio no encontrado - Significa que o ShellScript (ou programa) que voc est tentando executar no existe ou no est no diretrio em que voc est.

Verifique se o script existe no diretrio corrente; Verifique se o nome esta correto;

2. bash: ./olamundo: Permisso negada - Significa o usurio que voc est usando (logado) no tem permisso de executar o ShellScriot ou ainda o ShellScript (ou programa) que voc esta tentando executar no tem permisso de execuo.

Verifique as permisses do arquivo devero ser -rwxrr-- ; Verifique se voc o dono do arquivo.

3 Mecanismo de marcao de arquivos binrios/scripts forando a execuo como usurio identificado.

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting 3. bash: ./olamundo: /bin/asdf: bad interpreter Significa que vc est identificando um interpretador errado ou inexistente nesta mquina.

Corriga a entrada #!/bin/asd para o interpretador correto no caso #!/bin/bash

4. ./olamundo: line 3: echor: command not found - Significa que o ShellScript que voc est tentando executar est com um erro de sintaxe e o Shell no consegue executar. Normalmente o Shell informa qual erro esta ocorrendo e em alguns casos informa at o nmero da linha onde est o erro.

Revise a sintaxe do ShellScript

Aprimorando o script
Perfumaria
At agora, verificamos o bsico pra criar um ShellScript e roda-lo. Nesta sesso iremos aprimorar o script melhorando sua interface com o usurio. Certamente, esta interface ir depender da aplicao do script, havendo situaes em que no so recomendadas, por exemplo quando um ShellScript alimentador de outro ShellScript ou programa. No entanto, em determinadas situaes, pode ser interessante colocar mensagens de aviso ao operador. Como no script abaixo, que mostra as mensagens de texto e o resultado dos comandos. #!/bin/bash echoOlaMundohojedia: date echoEstecomputdorsechama: hostname ShellScript 2: olamundo2 Os comandos date e hostname retornam respectivamente a data e o nome do computador. Normalmente todos os comandos do Shell possuem parmetros modificadores (switches) que do um resultado diferente. Por exemplo, podemos querer mostrar a data no formato dia ms ano. Para isso, usamos os modificadores do comando date.

date +%d/%m/%Y

Vale salientar que todos os comandos de Shell podero ser testados antes em um terminal.

Entrada pelo teclado


H situaes em que solicitado ao operador algum tipo de informao para que o script possa continuar processando. Nestes casos, utiliza-se o comando read, que l uma entrada at que seja digitado enter.

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting #!/bin/bash echo Hoje dia: `date +%d/%m%Y` echo Digite seu nome: read ShellScript 3: olamundo3

Variveis
Em Shell script utilizamos variveis da mesma foram que em outras linguagens, armazenando valores em tempo de execuo. A diferenas mais expressivas so:

variveis no precisam ser declaradas; podem ser criadas em qualquer parte do cdigo; possuem tipagem fraca, ou seja, uma varivel ser do tipo texto, numrica ou boolean, no havendo detalhamentos como no C (float, unsigned int, double, etc);

#!/bin/bash dia=`date +%d` mes=`date +%m` ano=`date +%Y echo Hoje dia $dia de $mes no ano de $ano Tabela 4: script mostra-data

Controle de fluxo
Como outras linguagens, ShellScripts possuem sistemas de controle de fluxo. Nesta seo faremos uma breve abordagem aos mecanismos de controle de fluxo de ShellScripts. Muito mais pode ser estudado sobre os mesmos, bastando aos leitores procurarem na bibliografia de apoio.

Comando TEST e IF-ELIF-ELSE-FI


O TEST um comando que se destaca na programao ShellScript usado para testar condies. Segundo Aurlio o canivete suo do Shell. Vemos e utilizamos este comando nas mais diversas situaes principalmente na manipulao de arquivos. TEST retorna falso ou verdadeiro e seu resultado recebido e avaliado ento pelas estruturas IFELIF-IF. Possui uma variante de sintaxe [ ... ], onde dentro dos colchetes ocorre o teste. Na tabela abaixo esto alguns dos testes que o comando test executa. Jos de Figueiredo deb.gnulinux@gmail.com 8

Introduo ao Shell Scripting Testes com Variveis Comando -lt -gt -le -ge -eq -ne = != -n -z O que testa Menor que ? Maior que ? Menor ou igual ? Maior ou igual ? Igual ? Diferente ? String igual ? String diferente ? String no vazia ? String vazia ? -d -f -r -s -w -nt -ot -ef -a -o Teste com Arquivos Comando O que testa diretrio ? arquivo ? Permisso leitura ? Maior que zero ? Permisso escrita ? Mais recente ? Mais velho ? Mesmo arquivo ? AND OR

O ShellScript abaixo faz uso do comando test para verificar se um arquivo informado por linha de comando existe e um arquivo ou diretrio. Neste exemplo apresentado o conceito de entrada de variveis por linha de comando, frequentemente utilizado. Parmetros passados por linha de comando so enumerados dentro do ShellScript por variveis numeradas $1 o primeira varivel, $2 a segunda varivel passadas por linha de comando. No h limite de variveis passadas por comando. #!/bin/bash #carrega em arq o argumento passado if test -z $1; then echo "Informe parmetro: (./testa <arquivo>)" exit else arq=$1 fi #testa se arquivo existe if test -f $arq; then echo $1 um arquivo ! elif test -d $arq; then echo $1 um diretrio ! else echo Entrada invlida - no arquivo nem diretorio fi ShellScript 4: testa-arquivo

Jos de Figueiredo deb.gnulinux@gmail.com

Introduo ao Shell Scripting

uso: ./testa <nome-arquivo>

No prximo exemplo testaremos nmeros. Neste exemplo, os nmeros sero entrados no programa pelo comando read. #!/bin/bash var=5 echo Digite um numero read num #testa o numero if [ $num -lt $var ]; then echo "Vc informou um numero menor que 5 (less then)." elif [ $num -gt $var ]; then echo "Vc informou um numero maior que 5 (greater then)." elif [ $num -eq $var ]; then echo "Vc informou um numero igual que 5 (equal)." fi ShellScript 5: testa-numero

CASE
O case uma estrutura de controle de fluxo para situaes em que temos diversas opes de escolha. Sua sintaxe mais simples que o uso de diversos IF-ELSE-IF. No prximo exemplo, escolhemos uma entre diversas opes. O CASE faz a anlise das escolhas e retorna o caso correspondente. #!/bin/bash echo "Escolha uma opo:" echo " 1 - quem sou eu ?" echo " 2 - quem esta logado?" echo " 3 - Data" echo " 4 - Calendrio" read n case $n in #testa a varivel n para as 4 opes de escolha em um case 1) whoami ;; 2) who ;; 3) date ;; 4) cal ;; esac ShellScript 6: escolha1 Jos de Figueiredo deb.gnulinux@gmail.com 10

Introduo ao Shell Scripting

Loops
Lao FOR
Executa determinada operao quantas vezes forem necessrios at que determinada condio seja satisfeita.
FOR

de 1 a 10.

#!/bin/bash #para cada ocorrncia de n imprime a mensagem for n in 1 2 3 4 5 6 7 8 9 10 do echo Ola nmero $n done ShellScript 7: laco1
FOR

de arquivos em um diretrio.

#!/bin/bash #mostra os arquivos e diretrios de /etc for n in /etc/* do echo $n done ShellScript 8: laco2

FOR

de 1 at n mais parecido com a sintaxe do C.

#!/bin/bash #mostra os arquivos e diretrios de /etc for (( i = 0 ; i <=5 ; i++ )) do echo Ol nmero $i done ShellScript 9: laco3

Jos de Figueiredo deb.gnulinux@gmail.com

11

Introduo ao Shell Scripting

Lao while
Executa enquanto o teste enquanto a escolha for verdadeira. Este ShellScript uma adaptao utilizando o case e o while. O while executar at que o usurio escolha a opo 0. #!/bin/bash n=5 #ATRIBUI QUALQUER VALOR A N DIFERENTE DAS OPOES ABAIXO while [ $n -ne 0 ] #SE N = 0 ENCERRA O PROGRAMA SAENO FICA NO LOOP do printf "\n->Escolha uma opo:\n" #MOSTRA AS OPES PARA O USUARIO echo " 1 - quem sou eu ?" echo " 2 - quem esta logado?" echo " 3 - Data" echo " 4 - Calendario" echo " 0 - Sair" read n #LE VARIVAEL N #testa a variavel n para as 4 opoes em um case case $n in 1) echo '-----' whoami echo '-----' ;; 2) echo '-----' who echo '-----' ;; 3) echo '-----' date echo '-----' ;; 4) echo '-----' cal echo '-----' ;; esac done # FECHA LOOP ShellScript 10: laco4

Jos de Figueiredo deb.gnulinux@gmail.com

12

Introduo ao Shell Scripting

Funes
um mecanismo utilizado para modularizar e organizar do cdigo. Usada normalmente para evitar duplicao de cdigo. Uma funo deve ser declarada antes de sua utilizao normalmente no incio do script. A sintaxe bsica pode ser vista no quadro abaixo. #!/bin/bash # declara a funo function ola() { echo "Funo que diz ola mundo!" } # executa a funo ola ShellScript 11: funcao-ola

Exemplos de Scripts na Prtica


Para estes exemplos de ShellScript de backup, criar uma sub-pasta backup na raiz com permisses de escrita para outros usurios.

Como root, criar o diretrio backup na rais

# mkdir /backup # chmod a+rwx / backup

Como root, mudar as permisses de acesso ao diretrio (permitindo tudo)

Script backup 1
O ShellScript a seguir tem por objetivo fazer cpias de pastas em arquivos tar. O TAR largamente utilizado em sistemas Unix Like, serve para botar vrios arquivos dentro de um s funcionado como um arquivador. O arquivo resultante do tar tambm pode ser compactado com diversos compactadores como gzip, bzip2 e outros. Isto confere ao TAR uma aplicabilidade muito grande. No nosso primeiro script de backup, Armazenar em um arquivo de backup, temos um sistema simples de mensagem, a escolha de um local de armazenamento e a escolha de uma home de algum usurio.

Jos de Figueiredo deb.gnulinux@gmail.com

13

Introduo ao Shell Scripting #!/bin/bash echo echo echo echo '-------------------------' 'Backup de '`whoami` '-------------------------' 'rodando...'

local=/backup tar -cvzf $local/backup1.tgz /home/`whoami` ShellScript 12: backup1 O tar no ser discutido nesta apostila, sendo rapidamente comentado:

tar -cvzf /backup/backup1.tgz /home/aluno significa


criar em modo verbose (mostrando tudo) e compactando com gzip no arquivo /backup/backup1.tgz tudo que tem em /home/aluno

Scritp backup 2
Incrementando o script de backup. Nesta segunda verso do script de backup, vamos:

Modularizamos o script, utilizando variveis; Criar arquivos identificados por data; Armazenar o registro de log da sada do tar em um arquivo de log, que tambm identificado por data.

#!/bin/bash echo '-------------------------' echo 'Backup de '`whoami` echo 'Rodando...' local=/backup destino=$local/backup-`date +%d-%m-%y`.tgz origem=/home/`whoami` log=$local/backup-`date +%d-%m-%y`.log tar --create --verbose --bzip2 --file $destino $origem > $log 2>&1 echo 'Feito!' echo '-------------------------' ShellScript 13: backup2

Jos de Figueiredo deb.gnulinux@gmail.com

14

Introduo ao Shell Scripting

Script backup 3
Roda o backup e salva em um servidor FTP (Servidor NAS) que dever estar disponvel na rede, com usurio e senha conhecidos. Para fins de teste, usaremos um servidor ftp local, com usurio bkp e senha backup.

# adduser bkp (senha backup); # aptitude install proftpd

#!/bin/bash # chama script de ftp function enviar (){ comando=$local/envia-ftp logftp=$local/envio-ftp-`date +%d-%m-%y`.log echo '$$$$$$$$$$$$$$$$$$$$$$$$$' echo 'Enviando ... ' cd $local $comando $arquivo > $logftp 2>&1 echo 'Feito !' echo '$$$$$$$$$$$$$$$$$$$$$$$$$' } echo '-------------------------' echo 'Backup de '`whoami` echo 'Rodando...' local=/backup arquivo=backup-`date +%d-%m-%y`.tgz destino=$local/$arquivo origem='/home/`whoami`/scripts' log=$local/backup-`date +%d-%m-%y`.log tar --create --verbose --bzip2 --file $destino $origem > $log 2>&1 echo 'Feito!' echo '-------------------------' # Executa funo enviar enviar ShellScript 14: backup3 Jos de Figueiredo deb.gnulinux@gmail.com 15

Introduo ao Shell Scripting

#!/bin/bash #!/bin/sh HOST='localhost' USER='bkp' PASSWD='backup' ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD put $1 quit END_SCRIPT exit 0 ShellScript 15: envia-ftp

Download
O prximo script utilizado para automatizar downloads rodando em horrios alternativos automaticamente. O mesmo script pode ser adaptado para download com bittorrent.

Jos de Figueiredo deb.gnulinux@gmail.com

16

Introduo ao Shell Scripting #!/bin/bash ALVO=http://cdimage.debian.org/debian-cd/5.0.3/i386/iso-cd/debian-503-i386-CD-1.iso DWDIR=/home/`whoami`/download/ CMD='wget -t 0 -cb ' LOG=' -o download.log 2>&1' PIDFILE=$DWDIR/download.pid #export "http_proxy='http://teste:teste@192.168.168.1.251:8080'" dw_start() { echo 'Iniciando download...' echo 'Para ver o log use: tail -f /home/'`whoami`'/download/download.log' cd $DWDIR $CMD $ALVO $LOG } dw_stop() { echo 'Encerrando...' PID=`ps -A | grep wget | awk '{print $1}'` kill -9 $PID } case "$1" in start) dw_start ;; stop) dw_stop ;; restart) dw_stop dw_start ;; force-reload) dw_stop dw_start ;; *) echo "Uso: $0 {start|stop|restart|force-reload}" ;; esac

Jos de Figueiredo deb.gnulinux@gmail.com

17

Introduo ao Shell Scripting

Automatizao de tarefas
Normalmente os scripts so criados para automatizar procedimentos e tarefas. Neste caso, precisamos de um agendador de tarefas para disparar os scripts nos horrios que planejamos. Por exemplo: backup de dados as 20h e download da 0h at as 7h. Em sistemas Unix Like, dispomos do cron ( /usr/sbin/cron ) que, nada mais do que um agendador de tarefas que usa um conceito de tabela por usurios, ou seja, cada usurio tem a sua prpria agenda de tarefas. As modificaes na tabela de tarefas so feitas pelo comando crontab.

Modificar a tabela de tarefas do usurio $ crontab -e Listar a tabela de tarefas do usurio $ crontab -l

Ao executar crontab -e, estamos na verdade, executando um editor de textos que edita a tabela de agendas diretamente. Veja na figura abaixo:

Jos de Figueiredo deb.gnulinux@gmail.com

18

Introduo ao Shell Scripting

Sintaxe do cron
O cron tem uma sintaxe bastante simples, da direita para a esquerda, temos:

minutos, hora, dia do ms, ms do ano, dia da semana, usurio e comando.


44 3 * 3-11 1-5 root /root/backup geral | | | | | | | | | | | | | +-- comando a ser executado (com a rota) | | | | | +---------- usurio que executar o comando | | | | +-------------- dia da semana | | | +------------------- ms do ano | | +---------------------- dia do ms | +------------------------ hora +-------------------------- minuto

Algumas combinaes podem ser utilizadas na configurao da agenda, por exemplo:


de segunda a sexta: 1-5 no campo dia da semana; a cada 30 minutos: */30 no campo minutos a cada 10 minutos: */10 no campo minutos todos os dias da semana, todos os meses e todos os dias : * * *

Agendando backup
30 21 * * 1-5 /home/aluno/scripts/backup1 rodar o script backup1 as 21:30, todos os dias do ms, de segunda a sexta-feira

Agendando download
30 23 * * * /home/aluno/scripts/download start inicia o script download as 23:30 todos os dias 30 7 * * * /home/aluno/scripts/download stop encerra o script download as 7:30 todos os dias

Jos de Figueiredo deb.gnulinux@gmail.com

19

Introduo ao Shell Scripting

Bibliografia
1.Robbins, Arnold. Classic Shell Scripting, Porto Alegre, Bookman 2008, 2.http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html 3.http://www.linuxquestions.org/questions/programming-9/bash-sort-files-by-date-in-file-name443623/ 4.http://aurelio.net/Shell/canivete.html 5.http://www.ppgia.pucpr.br/~maziero/doku.php/unix:Shell_scripts 6.http://www.vivaolinux.com.br/artigo/Introducao-ao-uso-de-Shell-Script?pagina=2 7.http://pt.wikipedia.org/wiki/Linguagem_interpretada 8.http://users.ox.ac.uk/~martinw/unix/chap15.html 9.http://www.devin.com.br/Shell_script/comment-page-2/ 10.http://www.inf.ufpr.br/afms03/Shell3.html 11.http://pt.wikipedia.org/wiki/Shell_script 12.http://freeos.com/guides/lsst/

Jos de Figueiredo deb.gnulinux@gmail.com

20

Вам также может понравиться