Documente Academic
Documente Profesional
Documente Cultură
Bsicodobsico
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
ShellScriptBsicodobsico Permissoparaexecuodescript Depoisdeeditarumnovoscript,necessrioquemodifiquemosa permissodestearquivo,senoestenopoderserexecutado,vejao porqu: $lsl rwrr1leousers02006052013:20codigo_fonte $chmod+xcodigo_fonte $lsl rwxrxrx1leousers02006052013:20codigo_fonte* Paraexecutar: $./codigo_fonte
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
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