Sunteți pe pagina 1din 18

ShellScript

Bsicodobsico

ShellScriptBsicodobsico OssistemasUnixlike,comooGNU/Linux,possuemcamadas. Estascamadassoohardware,okernel,osprogramas/comandoseo shell. Oshellacamadamaisexternadosistemaetemligaointima (comunicao)comoscomandoseprogramas,oscomandoseprogramas tmligaointimacomokerneleestecomohardware.

SHELL Comandos/programas Kernel Hardware

ShellScriptBsicodobsico Oshelloresponsvelpelainteraoentreousurioeosistema operacional,poiselequeinterpretaoscomandoseostraduzparauma linguagemsimpleseinteligvelparaokernel. Devidoaessafuno,okerneltemseudesempenhomelhorado,pois menosumtrabalhoparaomesmoexecutar. OshellseparecevisualmentecomoMSDOSdaMicrosoft. JsabemosoqueShell,agoradefinireioqueShellScript. Scriptumarquivodetextoquepossuiumaseqnciadeinstruese comandos,estessoexecutadoslinhaalinha.Podemosfazerumacomparao grotescadoShellScriptcomosarquivos.batdoDOS.

ShellScriptBsicodobsico AvantagemdeseprogramaremShellScriptautomatizartarefas rotineiras,comobackup,instalaoouremoodeprogramas. Porexemplo,seeutenho100usuriosparaadicionarnosistemaposso fazerumscriptemshellpararealizaressatarefaemsegundos! BourneAgainShell:oshelldesenvolvidoparaoprojetoGNUusado peloGNU/Linux,muitousadopoisosistemaqueoporta(GNU/Linux) evoluieadotadorapidamente.Possuiumaboaportabilidade,poispossui caractersticasdoKornShelleCShell.representadoporbash.Onosso estudoserfocadoneste.

ShellScriptBsicodobsico FunesdoShell Analisardadosapartirdoprompt(dadosdeentrada); Interpretarcomandos; ControlarambienteUnixlike(console); Fazerredirecionamentodeentradaesada; Execuodeprogramas; Linguagemdeprogramaointerpretada. Conhecimentosbsicos Ousodatralha(#) Atralharepresentaemalgumaslinguagensdeprogramaoumcomentrio, comoShellScriptnodiferente.

ShellScriptBsicodobsico UmscriptemShelliniciadocomaseguintelinha: #!/bin/SHELL_EM_USO Comosaberqualshellestouusando? $echo$SHELL ParaoGNU/Linux: #!/bin/bash Estalinhaacimaindicaocaminho(path)paraointerpretadorqueser usadonoscript.

ShellScriptBsicodobsico Crase Ascrasessousadasparadarprioridadeaumcomando,vejaum exemplo: $echoAversodokerneldo`unameo``unamer` Sada: AversodokerneldesteGNU/Linux2.6.15 Sevoctirarascrases,vejaasada: Aversodokerneldesteunameounamer

ShellScriptBsicodobsico

Varivel Umavarivelrepresentadapor$(cifro). Exemplodevarivel: #guarda_roupa=camiseta #echo$guarda_roupa Sada: camiseta

ShellScriptBsicodobsico Permissoparaexecuodescript Depoisdeeditarumnovoscript,necessrioquemodifiquemosa permissodestearquivo,senoestenopoderserexecutado,vejao porqu: $lsl rwrr1leousers02006052013:20codigo_fonte $chmod+xcodigo_fonte $lsl rwxrxrx1leousers02006052013:20codigo_fonte* Paraexecutar: $./codigo_fonte

ShellScriptBsicodobsico Pontoevrgula(;) Opontovrgula(;)serveparasepararcomandos. Exemplo: #mkdirguardaroupa;cdguardaroupa;touchcamiseta;touchbermuda Esteconjuntodecomandosdiz: Crieumdiretriochamado"guardaroupa",entreneleecrieosarquivos "camiseta"e"bermuda"vazios.

ShellScriptBsicodobsico MatemticanoShell Operadoresaritmticos: +Soma Subtrao *Produto /Diviso %Restodadiviso Ocomandoexpr Parafazerumclculonecessriousarocomandoexpr. Exemplo: Ateno:Apscadacadeiadecaracteresnouso $expr20+5 doexprdevesercolocadoumespaoembranco (tab).

ShellScriptBsicodobsico MatemticanoShell Ocomandolet Realizaaritmticacomnmerosinteiros. Sintaxe: $let<expresso> Exemplo: $a=10 $b=10 $letc=a+b $echo$c 20

$ leta++ $ echo$a 11 $ letb $ echo$b 9

ShellScriptBsicodobsico Ocomandoexpr+length Parapegaronmerodecaracteresdeumastring,useocomando length. Veja: $exprlength"4Linux&Hackerteen" Sada:19 Observao:oshellscontaoqueestdentrodasaspas,inclusive osespaosembranco. UsandoacalculadorabcdoGNU/Linuxeocomandoscale. Ocomandoscaleserveparadeterminaronmerodecasasdecimais. $echo"scale=1;(25/3)+20"|bc Resultado:28.3

ShellScriptBsicodobsico Trabalhandocomparmetros Vocjpensoucomosepassaparmetrosparaumprogramaem shellscript??? Umparmetrorepresentadopor$n,ondenaposiodocaractere ouaposiodeumconjuntodecaracteres. $1representaoprimeirocaractereouoprimeiroconjuntodecaracteres; $./meu_scriptL $./meu_scriptLinux $2representaosegundocaractereouosegundoconjuntodecaracterese assimpordiante. $./meu_scriptLI $./meu_scriptLINUX Cadaparmetroseparadoporespao.

ShellScriptBsicodobsico Naprtica,vejacomofcil: Vamossuporqueeutenhoumprogramachamadomonte_nomeeeu queroexibironomemontadoapsreceberletraporletra.Vejaoscript: #################################### #Scriptparamontarnomes #Estescriptrecebeseisparmetros #################################### #!/bin/bash echo$1$2$3$4$5$6 #Fimdoscript $./monte_nome4LINUX (Notequeentrecadaparmetrohumespao) Sada:4LINUX

ShellScriptBsicodobsico Maspensenesteprogramaanteriorquefiz,pssimopoisest limitadoaseiscaracteresapenas. simplesarrumarisso,veja: #Scriptparamontarnomes #Estescriptrecebe"n"parmetros #!/bin/bash echo$* #Fimdoscript $./monta_nomeHACKERTEEN Sada:HACKERTEEN O$*recebetodososparmetrospassados. Oparmetro$0representaonomedoprprioprograma. Oparmetro$#indicaaquantidadedeparmetrospassadosaoscript.

ShellScriptBsicodobsico ComolerdadosemShellScript Usamosocomandoreadparalerdadosdearquivosoudiretamentedo teclado. Sintaxe: readvar1var2var3...varN Noterminalfaa: $readLinux Debian $echo$Linux Debian

ShellScriptBsicodobsico Bibliografia ProgramaoShellLinux3edio Autor:JulioCezarNeves Editora:BRASPORT LinuxGuiadoAdministradordoSistema Autor:RubemE.Ferreira Editora:Novatec

S-ar putea să vă placă și