Você está na página 1de 28

Introduo ao Shell Script

Sumrio

AmbienteLinux AmbienteShell TiposdeShell Conceitos

Ambiente Linux

OrganizaoGNU/Linux

Ambiente Shell

Relembrando:

Linux:Sistemamultiusurio

/etc/passwd Primeiroprogramaexecutadoaoiniciarsessodo usurio Aliviaokernel,evitandoqueokerneltratede tarefasrepetitivas. Trataeinterpretacomandoseexpressesantesde enviaraokernel.

Ambiente Shell

Analisandobem,temosoShellcomouma interpretador,comumapoderosalinguagemde altonvel,comestruturasdeloop,decisoe armazenamentodevariveis.

Tipos de Shell

BourneShell(sh)

StephenBourne Unix StandardShell DavidKorn Unix SuperconjuntodoBourneShell

KornShell(ksh)

Tipos de Shell

BourneAgainShell(bash)

BrianFoxeChetRarney ShelldoprojetoGNU BillJoy AmbienteBSD

CShell(csh)

Conhecendo a Linguagem

Comandos Variveis Metacaracteres RedirecionamentodeEntrada/Sada Quotes

Como funciona

Quandoumcomandodigitadonoprompt,ele divididoempartes,separadosporespaosem branco. COMANDOPARMETROSOPES

Como funciona

EtapasBsicas

Como funciona

Atribuies:

Verificasehouveatribuiesdevaloresaqualquervarivel Checaparaonde/deondeofluxodedadosobtidos/gerados pelocomandovai. Procuraporvariveiseasresolve,substituindoasporseus valoresreais. Sealgummetacaractere(*,?,[],etc)forencontrado, substituiopelosvalorespossveis.

Redirecionamentos:

Variveis:

Metacaracteres:

Como funciona

Apstodasastarefas,oShellremontaalinhade comando,comtudoqueeleexecutounasetapas anterioreseentregaparaokernel,quepassaa executaremumnovoShell.Estenovoshell ganhaumnmerodeprocesso(PID).Oshellpai ficainativo,tirandoumasonecaenquantoseu filhoaguardaaexecuodocomando.

Variveis

Tipos

Sistema Usurio varivel=valor $valor=1000

Atribuies:

Cuidadosnaatribuio

Variveis
Variveis de Sistema BASH=/bin/bash BASH_VERSION=1.14.7(1) COLUMNS=80 HOME=/home/vivek LINES=25 LOGNAME=students OSTYPE=Linux PATH=/usr/bin:/sbin:/bin:/usr/sbin PS1=[\u@\h \W]\$ PWD=/home/students/Common SHELL=/bin/bash USERNAME=vivek Nome da Shell Verso da Shell N de colunas da tela Diretorio home N de linhas da tela Nome de logging Tipo do SO Caminho de comandos e configuraes Configuraes de Linha de Comando Diretorio atual Nome da Shell Nome do usuario atualmente logado Significado

Variveis

Variveisdeusuriosexistemenquantoaquele Shellestemexecuo. Regras:

Nomescomeandocomletrasou_ Sensveiscaixa Nousemetacaracterescomo*,?,etc valor= valor=

ValorNULL

Quotes

Caracterespararemoodesignificado QuandonoqueremosqueoShellinterpreteumcaractere especfico,devemosescondlodele.Issopodeserfeitode trsmaneiras. Apstrofo('):QuandooShellvumacadeiadecaracteresentre apstrofos(aspassimples),eleretiraosapstrofosdacadeiae nointerpretaseucontedo. BarraInvertida(\):Idnticoaosapstrofos,execetoqueela inibeainterpretaosomentedeumcaractere Aspas():Exatamenteiguaisaosapstrofos,excetoseacadeia entreaspascontiverumcifro($),barrainvertida(\)ou acentograve(`).

Redirecionamentos

Amaioriadoscomandospossuemtrssadas,para queosdadosfluamentreocomando. Tipos

Entrada(stdin) Sada(stdout) Erro(stderr)

Redirecionamentos

SadaPadro

Asadadeumcomandosignificadizerondeos dadosgeradospelocomandoseroexibidos. >e>> >:Sobrescreveobufferdasada >>:Concatenaaobufferdasada

Tokens

Diferenaentresostokens:

Redirecionamentos

ErroPadro

Assimcomoasadapadro,oerrostambm precisamserencaminhadosparaumfluxo. 2>e2>> MesmoesquemadeSadaPadro

Token

DiferenaentreosTokens

Redirecionamentos

EntradaPadro Tokens:

<e<< <:Redirecionadeumarquivoououtrodispositivode entrada <<:Criaumamarcaquedefineocomeoeofinal daentrada

Diferena:

Buraco Negro

/dev/null

Direitos de Posse

$$ouPID

Nmerodeidentificaodoseuprocesso

Pipe

Canalizarasadadeumcomandoparaaentrada deoutro Token

Caracteres de Ambiente

Priorizarexpressesecomandosdentrodeoutros... Token

AcentoGrave(`)

Caracteres de Ambiente

Agruparcomandosemumamesmalinhade comando... Token:

Pontoevrgula(;)

Caracteres de Ambiente

Executarcomandosemumnovoshell... Token:

Parnteses

Estruturas de Controle

Condies Sintaxe

Ifcmd then cmd1 cmd2 else cmd3 cmd4 fi

Estruturas de Controle

Comandotest

Você também pode gostar