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,[Link] [Link].
ShellScriptBsicodobsico AvantagemdeseprogramaremShellScriptautomatizartarefas rotineiras,comobackup,instalaoouremoodeprogramas. Porexemplo,seeutenho100usuriosparaadicionarnosistemaposso fazerumscriptemshellpararealizaressatarefaemsegundos! BourneAgainShell:oshelldesenvolvidoparaoprojetoGNUusado peloGNU/Linux,muitousadopoisosistemaqueoporta(GNU/Linux) [Link],poispossui [Link] 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 [Link]: #################################### #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:[Link] Editora:Novatec