Buscar

Aula03 Variaveis E S CaracEspeciais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação	
  para	
  Servidores	
  
Aula	
  03	
  
2014.1	
  
Sumário	
  
•  Scripts	
  vs.	
  linguagens	
  compiladas;	
  
•  Variáveis;	
  
•  Comandos	
  de	
  entrada	
  e	
  saída;	
  
•  Caracteres	
  especiais.	
  
2	
  
Contexto	
  –	
  Shell	
  
•  O	
  shell	
  é	
  uma	
  camada	
  acima	
  do	
  kernel,	
  através	
  da	
  
qual	
  	
  o	
  usuário	
  faz	
  as	
  requisições	
  para	
  o	
  kernel	
  para	
  
que	
  este	
  entre	
  em	
  contato	
  com	
  o	
  hardware.	
  
– É	
  um	
  programa	
  que	
  estabelece	
  a	
  interface	
  entre	
  o	
  usuário	
  
e	
  as	
  diversas	
  funções	
  e	
  serviços	
  do	
  sistema	
  operacional	
  
(kernel);	
  
•  Resumindo:	
  o	
  shell	
  pode	
  ser	
  visto	
  como	
  um	
  
interpretador	
  de	
  comandos	
  que	
  transmite	
  ao	
  kernel	
  
o	
  que	
  deve	
  ser	
  realizado.	
  
3	
  
Shell	
  script	
  
•  Podemos	
  dizer	
  então	
  que	
  um	
  Shell	
  Script	
  é	
  uma	
  
espécie	
  de	
  roteiro	
  a	
  ser	
  interpretado	
  pelo	
  shell:	
  
– São	
  uSlizados	
  em	
  vários	
  sistemas	
  operacionais;	
  
– Podem	
  ser	
  escritos	
  em	
  qualquer	
  editor	
  de	
  textos;	
  
– Suportam	
  desde	
  simples	
  comandos	
  como	
  criar	
  um	
  
diretório	
  (mkdir)	
  até	
  poderosos	
  scripts	
  de	
  configuração;	
  
– Podem	
  ser	
  uSlizados	
  para:	
  	
  
•  Apagar	
  periodicamente	
  arquivos	
  anSgos	
  de	
  uma	
  pasta;	
  
•  Realizar	
  um	
  back-­‐up	
  do	
  sistema;	
  
•  Configurar	
  vários	
  servidores	
  distribuídos	
  geograficamente.	
  
4	
  
Scripts	
  vs.	
  Ling.	
  Compiladas	
  
•  A	
  maioria	
  dos	
  programas	
  comerciais	
  são	
  escritos	
  em	
  
linguagens	
  compiladas.	
  	
  
– Tais	
  programas	
  são	
  escritos	
  em	
  uma	
  linguagem	
  de	
  
programação	
  e	
  devem	
  ser	
  traduzidos	
  para	
  um	
  código	
  
objeto	
  (compilador)	
  e	
  posteriormente	
  ligados	
  às	
  
bibliotecas	
  (linkeditor)	
  a	
  fim	
  de	
  se	
  obter	
  um	
  programa	
  
executável.	
  	
  
– Estes	
  programas	
  podem	
  ser	
  executados	
  diretamente	
  pelo	
  
hardware	
  do	
  computador	
  (controlado	
  pelo	
  SO).	
  
– Suas	
  grandes	
  vantagens	
  são	
  a	
  performance	
  e	
  o	
  poder	
  de	
  
expressão.	
  
5	
  
Scripts	
  vs.	
  Ling.	
  Compiladas	
  
•  Linguagens	
  de	
  script	
  são	
  interpretadas.	
  
– As	
  instruções	
  são	
  traduzidas	
  uma	
  após	
  a	
  outra	
  no	
  ato	
  da	
  
execução.	
  Sempre	
  que	
  forem	
  executados,	
  a	
  tradução	
  deve	
  
ser	
  realizada	
  novamente.	
  
– A	
  grande	
  vantagem	
  na	
  uSlização	
  de	
  scripts	
  é	
  sua	
  
simplicidade	
  e	
  rapidez	
  para	
  o	
  desenvolvimento	
  de	
  tarefas	
  
simples	
  e	
  repeSSvas,	
  caracterísScas	
  da	
  administração	
  de	
  
sistemas.	
  
– Todas	
  as	
  linguagens	
  de	
  script	
  são	
  interpretadas,	
  porém	
  
nem	
  todas	
  as	
  linguagens	
  interpretadas	
  são	
  linguagens	
  de	
  
script	
  (p.ex.	
  Java	
  pode	
  ser	
  interpretada	
  e	
  não	
  é	
  script).	
  
6	
  
Programando	
  em	
  Shell	
  Script	
  
•  A	
  parSr	
  de	
  agora,	
  vamos	
  começar	
  a	
  ver	
  os	
  primeiros	
  
elementos	
  para	
  criação	
  de	
  scripts;	
  
•  Na	
  aula	
  de	
  hoje:	
  
– Variáveis;	
  
– Comandos	
  de	
  entrada	
  e	
  saída	
  de	
  dados;	
  
– Caracteres	
  especiais;	
  
•  Nas	
  próximas	
  aulas:	
  
– Argumentos,	
  operações	
  matemáScas;	
  
– Testes	
  e	
  condicionais,	
  comandos	
  para	
  repeSção,	
  etc;	
  
7	
  
Variáveis	
  
•  São	
  a	
  forma	
  que	
  as	
  linguagens	
  de	
  programação	
  
uSlizam	
  para	
  representar	
  dados;	
  
•  Uma	
  variável	
  nada	
  mais	
  é	
  do	
  que	
  um	
  rótulo,	
  um	
  
nome	
  atribuído	
  a	
  uma	
  posição	
  na	
  memória	
  do	
  
computador	
  contendo	
  uma	
  informação;	
  
•  Cada	
  variável	
  possui	
  um	
  valor,	
  que	
  consiste	
  na	
  
informação	
  que	
  foi	
  atribuída	
  a	
  ela	
  e	
  está	
  armazenada	
  
na	
  respecSva	
  posição	
  de	
  memória.	
  
8	
  
Variáveis	
  
•  EsquemaScamente,	
  
representamos	
  a	
  memória	
  do	
  
computador	
  como	
  na	
  figura	
  ao	
  
lado;	
  
•  Inicialmente,	
  deixamos	
  as	
  
células	
  em	
  branco,	
  indicando	
  
que	
  ainda	
  não	
  uSlizamos	
  aquele	
  
espaço.	
  
9	
  
Variáveis	
  
•  Quando	
  criamos	
  uma	
  variável	
  e	
  
atribuímos	
  um	
  valor	
  a	
  ela:	
  
x=123 
•  Uma	
  posição	
  de	
  memória	
  é	
  
alocada	
  e	
  seu	
  nome	
  passa	
  a	
  
funcionar	
  como	
  um	
  rótulo	
  para	
  
aquela	
  célula.	
  
10	
  
Variáveis	
  
•  Criando	
  outra	
  variável:	
  
y=456 
•  Outra	
  posição	
  é	
  alocada	
  e	
  o	
  
valor	
  armazenado.	
  
11	
  
Variáveis	
  
•  Em	
  shell	
  script,	
  o	
  nome	
  de	
  uma	
  variável	
  inicia	
  
sempre	
  por	
  uma	
  letra	
  ou	
  por	
  um	
  sublinhado	
  (_),	
  e	
  
pode	
  conter	
  qualquer	
  quanSdade	
  de	
  letras,	
  dígitos	
  e	
  
sublinhados.	
  Exemplos:	
  
– Válidos:	
   x telefone _y b1 A_2 n_alunos IDADE___2 
–  Inválidos:	
   1x _y.6 a1+ num-alunos sal/hora 
12	
  
Variáveis	
  
•  Ao	
  contrário	
  de	
  muitas	
  linguagens	
  de	
  programação,	
  
em	
  shell	
  script	
  as	
  variáveis	
  não	
  são	
  classificadas	
  pelo	
  
Spo;	
  
•  Neste	
  caso,	
  o	
  conteúdo	
  das	
  variáveis	
  são	
  sequências	
  
de	
  caracteres	
  (strings),	
  mas	
  dependendo	
  do	
  contexto	
  
podem	
  ser	
  uSlizadas	
  em	
  operações	
  aritméScas;	
  
•  Não	
  há	
  limite	
  para	
  a	
  quanSdade	
  de	
  caracteres	
  que	
  
uma	
  variável	
  pode	
  conter.	
  
13	
  
•  A	
  atribuição	
  de	
  valores	
  a	
  uma	
  variável	
  é	
  feita	
  
escrevendo-­‐se	
  o	
  nome	
  da	
  variável	
  seguido	
  
imediatamente	
  do	
  caractere	
  =	
  e	
  o	
  valor	
  a	
  ser	
  
atribuído,	
  sem	
  qualquer	
  espaço	
  entre	
  eles.	
  Exemplo:	
  
x=30 
tipo=jogador 
pi=3.1415 
Variáveis	
  
14	
  
Variáveis	
  
•  Para	
  atribuir	
  a	
  uma	
  variável	
  um	
  valor	
  que	
  contenha	
  
espaços,	
  este	
  valor	
  deverá	
  ser	
  colocado	
  entre	
  aspas.	
  
Exemplo:	
  
 nome="Edson Nascimento" 
•  Para	
  acessar	
  o	
  valor	
  de	
  uma	
  variável	
  uSliza-­‐se	
  o	
  
caractere	
  $	
  precedendo	
  seu	
  nome.	
  Por	
  
exemplo:	
   echo $nome 
•  Para	
  limpar	
  o	
  valor	
  de	
  uma	
  variável	
  basta	
  fazer	
  uma	
  
atribuição	
  nula.	
  Por	
  exemplo:	
  
 nada= 
15	
  
Variáveis	
  
•  EXERCÍCIO:	
  indique	
  com	
  um	
  X	
  os	
  nomes	
  válidos	
  para	
  
uma	
  variável:	
  
( ) endereco 
( ) 21brasil 
( ) nome_usuario 
( ) nome*usuario 
( ) cidade3 
( ) #cabec 
16	
  
Comandos	
  de	
  E/S:	
  echo 
•  O	
  comando	
  echo	
  imprime	
  na	
  saída	
  padrão	
  (tela)	
  
uma	
  expressão	
  ou	
  variável.•  Parâmetros:	
  
-e	
  	
   -­‐	
  trata	
  caracteres	
  de	
  escape;	
  
-n	
  	
   -­‐	
  suprime	
  o	
  “new	
  line”	
  do	
  final;	
  
•  Exemplo:	
  
echo "teste \n (contrabarra n)" 
echo –e "teste \n (contrabarra n)" 
17	
  
Comandos	
  de	
  E/S:	
  echo 
•  O	
  comando	
  echo	
  imprime	
  na	
  saída	
  padrão	
  (tela)	
  
uma	
  expressão	
  ou	
  variável.	
  	
  
•  Parâmetros:	
  
-e	
  	
   -­‐	
  trata	
  caracteres	
  de	
  escape;	
  
-n	
  	
   -­‐	
  suprime	
  o	
  “new	
  line”	
  do	
  final;	
  
•  Exemplo:	
  
echo "teste \n (contrabarra n)" 
echo –e "teste \n (contrabarra n)" 
18	
  
$ echo "teste \n (contrabarra n)" 
teste \n (contrabarra n) 
$ echo –e "teste \n (contrabarra n)" 
teste 
 (contrabarra n) 
Comandos	
  de	
  E/S:	
  echo 
•  Se	
  a	
  opção	
  -e	
  está	
  em	
  efeito,	
  os	
  seguintes	
  caracteres	
  
de	
  escape	
  são	
  reconhecidos:	
  
\\	
  	
   -­‐contra	
  barra;	
  
\a	
   -­‐alerta	
  (sonoro);	
  
\b	
   -­‐backspace;	
  
\n	
   -­‐nova	
  linha;	
  
\r	
   -­‐retorno	
  de	
  “carro”;	
  
\t	
   -­‐tabulação	
  horizontal;	
  
\v	
   -­‐	
  tabulação	
  verScal	
  (efeito	
  escada).	
  
19	
  
Comandos	
  de	
  E/S:	
  printf 
•  O	
  comando	
  printf	
  é	
  uma	
  variação	
  do	
  comando	
  
echo	
  e	
  fornece	
  uma	
  saída	
  formatada;	
  
•  Sua	
  sintaxe	
  é:	
  
printf string-formato [argumentos...] 
•  O	
  formato	
  segue	
  o	
  padrão	
  do	
  comando	
  printf	
  da	
  
linguagem	
  C	
  (veremos	
  mais	
  detalhes	
  adiante).	
  
20	
  
Comandos	
  de	
  E/S:	
  read 
•  O	
  comando	
  read	
  lê	
  um	
  valor	
  a	
  parSr	
  da	
  entrada	
  
padrão	
  (teclado)	
  e	
  o	
  armazena	
  em	
  uma	
  variável;	
  
•  Exemplo:	
  
echo "nome:" 
read nome 
echo "Boa noite $nome. Seja bem-vindo!"	
  
•  Parâmetros:	
  
-s	
  	
   -­‐	
  não	
  exibir	
  o	
  que	
  é	
  digitado	
  (senha);	
  
-p "string"	
  	
   -­‐	
  mostrar	
  string	
  antes	
  da	
  leitura.	
  
21	
  
Comandos	
  de	
  E/S:	
  read 
•  O	
  comando	
  read	
  lê	
  um	
  valor	
  a	
  parSr	
  da	
  entrada	
  
padrão	
  (teclado)	
  e	
  o	
  armazena	
  em	
  uma	
  variável;	
  
•  Exemplo:	
  
echo "nome:" 
read nome 
echo "Boa noite, $nome. Seja bem-vindo!"	
  
•  Parâmetros:	
  
-s	
  	
   -­‐	
  não	
  exibir	
  o	
  que	
  é	
  digitado	
  (senha);	
  
-p "string"	
  	
   -­‐	
  mostrar	
  string	
  antes	
  da	
  leitura.	
  
22	
  
nome: 
Alexandre 
Boa noite, Alexandre. Seja bem-vindo! 
Comandos	
  de	
  E/S 
•  Exemplos	
  
echo -n "Colocação: " 
read coloc 
echo "Você ficou em ${coloc}o lugar." 
23	
  
Comandos	
  de	
  E/S 
•  Exemplos	
  
echo -n "Colocação: " 
read coloc 
echo "Você ficou em ${coloc}o lugar." 
24	
  
$ ./teste1.sh 
Colocação: 5 
Você ficou em 5o lugar. 
Comandos	
  de	
  E/S 
•  Exemplos	
  
echo -n "Colocação: " 
read coloc 
echo "Você ficou em ${coloc}o lugar." 
25	
  
$ ./teste1.sh 
Colocação: 5 
Você ficou em 5o lugar. 
Atenção	
  para	
  
as	
  chaves!!	
  
Comandos	
  de	
  E/S 
•  Exemplos	
  
echo -n "Colocação: " 
read coloc 
echo "Você ficou em ${coloc}o lugar." 
read -p "Colocacao: " coloc 
echo "Você ficou em ${coloc}o lugar." 
26	
  
Comandos	
  de	
  E/S 
•  Exemplos	
  
echo -n "Colocação: " 
read coloc 
echo "Você ficou em ${coloc}o lugar." 
read -p "Colocacao: " coloc 
echo "Você ficou em ${coloc}o lugar." 
27	
  
$ ./teste2.sh 
Colocação: 1 
Você ficou em 1o lugar. 
Caracteres	
  Especiais	
  
•  Caracteres	
  especiais	
  são	
  aqueles	
  que	
  possuem	
  um	
  
significado	
  além	
  do	
  seu	
  significado	
  literal;	
  
– Ou	
  seja,	
  dependendo	
  da	
  forma	
  como	
  aparecem	
  no	
  script,	
  
podem	
  ter	
  diferentes	
  interpretações;	
  
•  Assim	
  como	
  as	
  palavras-­‐chave,	
  caracteres	
  especiais	
  
são	
  parte	
  importante	
  dos	
  scripts;	
  
28	
  
Caracteres	
  Especiais	
  
#	
  	
  	
   -­‐	
  Linhas	
  que	
  se	
  iniciam	
  com	
  o	
  caractere	
  #	
  são	
  
consideradas	
  comentário,	
  ou	
  seja,	
  não	
  são	
  
executadas.	
  Também	
  são	
  comentários	
  caracteres	
  
que	
  venham	
  logo	
  após	
  um	
  #	
  (desde	
  que	
  haja	
  pelo	
  
menos	
  um	
  caractere	
  em	
  branco	
  antes	
  do	
  #).	
  
echo O que vem ao lado? # COMEÇA um comentario. 
echo O que vem ao lado?# COMEÇA um comentario. 
29	
  
Caracteres	
  Especiais	
  
#	
  	
  	
   -­‐	
  Linhas	
  que	
  se	
  iniciam	
  com	
  o	
  caractere	
  #	
  são	
  
consideradas	
  comentário,	
  ou	
  seja,	
  não	
  são	
  
executadas.	
  Também	
  são	
  comentários	
  caracteres	
  
que	
  venham	
  logo	
  após	
  um	
  #	
  (desde	
  que	
  haja	
  pelo	
  
menos	
  um	
  caractere	
  em	
  branco	
  antes	
  do	
  #).	
  
echo O que vem ao lado? # COMEÇA um comentario. 
echo O que vem ao lado?# COMEÇA um comentario. 
30	
  
$ echo O que vem ao lado? # COMEÇA um comentario. 
O que vem ao lado? 
$ echo O que vem ao lado?# COMEÇA um comentario? 
O que vem ao lado?# COMEÇA um comentario? 
Caracteres	
  Especiais	
  
;	
  	
   -­‐	
  Separador	
  de	
  comandos.	
  USlizado	
  para	
  
permiSr	
  a	
  execução	
  de	
  dois	
  ou	
  mais	
  comandos	
  em	
  
uma	
  mesma	
  linha.	
  
•  Exemplo:	
  
 $ pwd; cd /etc; pwd; cd -; pwd 
31	
  
Caracteres	
  Especiais	
  
;	
  	
   -­‐	
  Separador	
  de	
  comandos.	
  USlizado	
  para	
  
permiSr	
  a	
  execução	
  de	
  dois	
  ou	
  mais	
  comandos	
  em	
  
uma	
  mesma	
  linha.	
  
•  Exemplo:	
  
 $ pwd; cd /etc; pwd; cd -; pwd 
32	
  
$ pwd; cd /etc; pwd; cd -; pwd 
/home/alexandre/myScripts 
/etc 
/home/alexandre/myScripts 
*	
  	
   -­‐	
  atua	
  como	
  um	
  coringa;	
  
•  Exemplos:	
  
$ cd doc* 
– Procura	
  pelo	
  primeiro	
  diretório	
  cujo	
  nome	
  começa	
  com	
  
doc	
  e	
  entra	
  nele;	
  
$ ls doc* 
– Lista	
  todos	
  os	
  arquivos	
  e	
  diretórios	
  cujos	
  nomes	
  começam	
  
com	
  doc;	
  
$ echo * 
– Exibe	
  na	
  tela	
  os	
  nomes	
  de	
  todos	
  os	
  arquivos	
  e	
  diretórios	
  
da	
  pasta	
  atual;	
  
Caracteres	
  Especiais	
  
33	
  
Caracteres	
  Especiais	
  
$	
  	
   -­‐	
  SubsStuição	
  de	
  variável;	
  
•  O	
  operador	
  $	
  precedendo	
  o	
  nome	
  de	
  uma	
  variável,	
  
faz	
  a	
  subsStuição	
  do	
  seu	
  nome	
  pelo	
  valor;	
  
•  Exemplo:	
  
var1=5 
var2=23skidoo 
echo $var1 # 5 
echo $var2 # 23skidoo 
34	
  
Caracteres	
  Especiais	
  
$	
  	
   -­‐	
  SubsStuição	
  de	
  variável;	
  
•  O	
  operador	
  $	
  precedendo	
  o	
  nome	
  de	
  uma	
  variável,	
  
faz	
  a	
  subsStuição	
  do	
  seu	
  nome	
  pelo	
  valor;	
  
•  Exemplo:	
  
var1=5 
var2=23skidoo 
echo $var1 # 5 
echo $var2 # 23skidoo 
35	
  
$ var1=5 
$ var2=23skidoo 
$ echo $var1 # 5 
5 
$ echo $var2 # 23skidoo 
23skidoo 
•  Caracteres	
  de	
  escape	
  para	
  permiSr	
  que	
  caracteres	
  
especiais	
  tenham	
  seu	
  significado	
  literal: 
\	
  	
   -­‐	
  uSlizado	
  para	
  um	
  único	
  caractere;	
  
"	
  	
   -­‐	
  agrupa	
  o	
  texto	
  comouma	
  única	
  string	
  e	
  preserva	
  o	
  
significado	
  literal	
  da	
  maioria	
  dos	
  caracteres	
  especiais,	
  porém	
  
o	
  shell	
  processa	
  caracteres	
  de	
  escape,	
  variáveis,	
  subsStuição	
  
de	
  comandos,	
  etc.	
  
'	
  	
   -­‐	
  em	
  sequências	
  de	
  caracteres,	
  preserva	
  o	
  significado	
  
literal	
  de	
  todos	
  os	
  caracteres	
  especiais.	
  
Caracteres	
  Especiais	
  
36	
  
•  Exemplo:	
  
$ echo '*' 
$ echo \* 
$ echo "*" 
$ echo "$PATH" 
$ echo '$PATH' 
Caracteres	
  Especiais	
  
37	
  
•  Exemplo:	
  
$ echo '*' 
$ echo \* 
$ echo "*" 
$ echo "$PATH" 
$ echo '$PATH' 
Caracteres	
  Especiais	
  
38	
  
$ echo '*' 
* 
$ echo \* 
* 
$ echo "*" 
* 
$ echo * 
aula03_sl09.sh ex_if_1.sh ex_if_2.sh ex_if_3.sh 
toscript.sh 
$ echo "$PATH" 
/usr/local/bin:/usr/bin 
$echo '$PATH' 
$PATH 
Caracteres	
  Especiais	
  
`	
  	
   -­‐	
  (acento	
  grave)	
  SubsStuição	
  de	
  comando.	
  
| -­‐	
  (pipe)	
  a	
  saída	
  de	
  um	
  programa	
  se	
  transforma	
  
na	
  entrada	
  do	
  anterior.	
  
$ echo "Existem `who | wc –l` usuarios conectados" 
•  Neste caso, o shell executa os comandos entre 
os acentos graves e exibe na tela o resultado 
39	
  
Caracteres	
  Especiais	
  
`	
  	
   -­‐	
  (acento	
  grave)	
  SubsStuição	
  de	
  comando.	
  
| -­‐	
  (pipe)	
  a	
  saída	
  de	
  um	
  programa	
  se	
  transforma	
  
na	
  entrada	
  do	
  anterior.	
  
$ echo "Existem `who | wc –l` usuarios conectados" 
•  Neste caso, o shell executa os comandos entre 
os acentos graves e exibe na tela o resultado 
40	
  
$ echo "Existem `who | wc –l` usuarios conectados" 
Existem 6 usuarios conectados 
•  Redirecionamento	
  de	
  entrada	
  e	
  saída:	
  
– Observe	
  o	
  exemplo	
  abaixo.	
  O	
  comando	
  cat	
  uSliza	
  a	
  
entrada	
  e	
  saída	
  padrões:	
  
Caracteres	
  Especiais	
  
41	
  
$ cat 
Este é um teste 
Este é um teste 
Só serve para ver como funciona o cat 
Só serve para ver como funciona o cat 
Para terminar, pressione <ctrl> D 
Para terminar, pressione <ctrl> D 
^D 
•  Redirecionamento	
  de	
  saída;	
  
>	
  	
   -­‐	
  redireciona	
  a	
  saída	
  padrão	
  do	
  comando	
  para	
  o	
  
arquivo	
  cujo	
  nome	
  vem	
  à	
  direita	
  do	
  >.	
  Se	
  o	
  arquivo	
  
não	
  exisSr,	
  cria	
  um	
  novo.	
  Se	
  exisSr,	
  apaga	
  o	
  
conteúdo	
  anterior;	
  
•  Exemplo:	
  
$ cat > saida.txt 
>>	
  	
   -­‐	
  Insere	
  o	
  texto	
  ao	
  final	
  do	
  arquivo.	
  Se	
  o	
  arquivo	
  
não	
  exisSr,	
  cria	
  um	
  novo;	
  
Caracteres	
  Especiais	
  
42	
  
•  Redirecionamento	
  de	
  saída;	
  
>	
  	
   -­‐	
  redireciona	
  a	
  saída	
  padrão	
  do	
  comando	
  para	
  o	
  
arquivo	
  cujo	
  nome	
  vem	
  à	
  direita	
  do	
  >.	
  Se	
  o	
  arquivo	
  
não	
  exisSr,	
  cria	
  um	
  novo.	
  Se	
  exisSr,	
  apaga	
  o	
  
conteúdo	
  anterior;	
  
•  Exemplo:	
  
$ cat > saida.txt 
>>	
  	
   -­‐	
  Insere	
  o	
  texto	
  ao	
  final	
  do	
  arquivo.	
  Se	
  o	
  arquivo	
  
não	
  exisSr,	
  cria	
  um	
  novo;	
  
Caracteres	
  Especiais	
  
43	
  
$ cat > saida.txt 
Este é um teste 
Só serve para ver como funciona o cat 
Para terminar, pressione <ctrl> D 
^D 
•  Redirecionamento	
  de	
  entrada;	
  
<	
  	
   -­‐	
  redireciona	
  a	
  entrada	
  padrão	
  do	
  comando	
  
para	
  o	
  arquivo	
  cujo	
  nome	
  vem	
  à	
  direita	
  do	
  <;	
  
•  Exemplo:	
  
$ cat < saida.txt 
– Exibe	
  o	
  conteúdo	
  do	
  arquivo	
  saída.txt	
  na	
  saída	
  padrão.	
  
Caracteres	
  Especiais	
  
44	
  
•  Redirecionamentos:	
  
– Mais	
  exemplos:	
  
$ tr 'E' 'e' < entrada.txt > saida.txt 
– Troca	
  todos	
  os	
  E’s	
  maiúsculos	
  por	
  e’s	
  minúculos	
  do	
  arquivo	
  
entrada.txt	
  e	
  salva	
  em	
  saida.txt.	
  
ls –l | tr 'a-z' 'A-Z' 
– Listagem	
  longa	
  dos	
  arquivos	
  subsStuindo	
  todas	
  as	
  letras	
  
minúsculas	
  por	
  maiúsculas.	
  
Caracteres	
  Especiais	
  
45	
  
Estudo	
  dirigido	
  
•  Leitura	
  do	
  capítulo	
  3	
  do	
  livro:	
  
“Advanced	
  Bash-­‐ScripSng	
  Guide”	
  
•  Leitura	
  do	
  itens	
  6	
  do	
  livro:	
  
“Classic	
  Shell	
  ScripSng”	
  
46	
  
Próxima	
  aula...	
  
•  Argumentos;	
  
•  Expansão	
  aritméSca:	
  let,	
  (( ))	
  e	
  $(( ));	
  
•  Operadores	
  matemáScos;	
  
•  Exercícios.	
  
47

Continue navegando