Buscar

Aula13 RevisaoAV1

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 36 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 36 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 36 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	
  13	
  
Sumário	
  
•  Revisão	
  para	
  AV1	
  
2	
  
Shell	
  Script	
  
•  O	
  que	
  é	
  o	
  Shell?	
  
– É	
  uma	
  aplicação	
  do	
  SO	
  que	
  consiste	
  em	
  um	
  interpretador	
  
de	
  comandos	
  e	
  tem	
  como	
  objeEvo	
  estabelecer	
  uma	
  
interface	
  entre	
  o	
  usuário	
  e	
  o	
  kernel;	
  
•  E	
  Shell	
  Script?	
  
– É	
  um	
  arquivo	
  de	
  texto	
  simples	
  que	
  contém	
  um	
  conjunto	
  de	
  
instruções	
  que	
  podem	
  ser	
  interpretadas	
  pelo	
  Shell	
  e	
  
resultam	
  na	
  realização	
  de	
  alguma	
  tarefa,	
  por	
  exemplo,	
  
ralizar	
  um	
  back-­‐up	
  do	
  sistema	
  u	
  configurar	
  vários	
  
servidores	
  distribuídos	
  geográficamente.	
  
3	
  
Shell	
  Script	
  
•  Principais	
  razões	
  para	
  uElização:	
  
– Simplicidade	
  –	
  é	
  possível	
  expressar	
  operações	
  complexas	
  
de	
  forma	
  simples.	
  
– Portabilidade	
  –	
  por	
  ser	
  universal	
  entre	
  sistemas	
  Unix,	
  
existe	
  uma	
  grande	
  chance	
  de	
  um	
  shell	
  script	
  escrito	
  para	
  
um	
  sistema	
  ser	
  transferido	
  para	
  outro	
  sem	
  necessidade	
  de	
  
alterações.	
  
– Facilidade	
  de	
  desenvolvimento	
  –	
  pode-­‐se	
  desenvolver	
  um	
  
shell	
  script	
  poderoso	
  e	
  úEl	
  em	
  pouco	
  tempo.	
  
4	
  
Shell	
  Script	
  
•  Procedimento	
  para	
  criação	
  e	
  uElização	
  de	
  um	
  shell	
  
script:	
  
– Abrir	
  um	
  editor	
  de	
  textos	
  simples;	
  
– Digitar	
  os	
  comandos	
  e	
  salvar	
  o	
  arquivo	
  com	
  o	
  nome	
  que	
  
desejar	
  (preferencialmente	
  com	
  extensão	
  .sh);	
  
– Alterar	
  a	
  permissão	
  do	
  arquivo	
  para	
  que	
  ele	
  possa	
  ser	
  
executado:	
  
chmod +x meu_script.sh 
– Executar	
  o	
  script	
  passando	
  os	
  argumentos	
  necessários:	
  
./meu_script.sh param1 param2 param3... 
5	
  
Variáveis	
  
•  UElizadas	
  para	
  armazenar	
  informações;	
  
•  São	
  compostas	
  por	
  um	
  nome	
  e	
  um	
  valor;	
  
•  Exemplos:	
  
x=123;	
   y=abacate;	
   nome=“José	
  Pereira	
  da	
  Silva”	
  
•  Os	
  nomes	
  das	
  variáveis	
  devem	
  sempre	
  começar	
  por	
  
uma	
  letra	
  ou	
  sublinhado.	
  Os	
  demais	
  caracteres	
  do	
  
nome	
  podem	
  ser	
  letras,	
  dígitos	
  ou	
  sublinhado;	
  
– Exemplos	
  válidos:	
  tel _y b1 A_2 n_alunos IDADE___2 
– Exemplos	
  inválidos:	
  1x _y.6 a1+ num-alunos sal/hora 
6	
  
Variáveis	
  
•  Para	
  atribuir	
  um	
  valor	
  a	
  uma	
  variável,	
  fazemos	
  
referência	
  apenas	
  ao	
  seu	
  nome	
  e	
  o	
  operador	
  que	
  
fará	
  a	
  atribuição.	
  	
  Exemplos:	
  
x=20; bairro="Vila Cruzeiro" 
read nome 
•  Para	
  acessar	
  o	
  valor	
  armazenado	
  em	
  uma	
  variável,	
  
usamos	
  o	
  operador	
  de	
  subsEtuição	
  $	
  antes	
  do	
  nome	
  
da	
  variável.	
  Exemplos:	
  
echo $nome; x=$y 
7	
  
Comandos	
  de	
  E/S	
  
•  Para	
  imprimir	
  algo	
  na	
  saída	
  padrão:	
  
– echo 
•  Para	
  ler	
  um	
  valor	
  da	
  entrada	
  padrão:	
  
– read 
•  Exemplos:	
  
echo "Por favor, digite o seu nome" 
read nome 
echo "Seja bem-vindo, $nome." 
8	
  
Caracteres	
  Especiais	
  
•  #	
  	
  	
   -­‐	
  usado	
  para	
  inserir	
  comentários	
  que	
  não	
  serão	
  
interpretados	
  pelo	
  Shell;	
  
•  ;	
  	
   -­‐	
  separador	
  de	
  comandos.	
  Usado	
  quando	
  
queremos	
  escrever	
  mais	
  de	
  um	
  comando	
  na	
  mesma	
  
linha;	
  
•  $	
  	
   -­‐	
  subsEtuição	
  de	
  variável.	
  Troca	
  o	
  nome	
  da	
  
variável	
  pelo	
  seu	
  valor;	
  
9	
  
Caracteres	
  Especiais	
  
•  Caracteres	
  de	
  escape:	
  usados	
  para	
  informar	
  ao	
  Shell	
  
que	
  um	
  caractere	
  especial	
  deve	
  ser	
  interpretado	
  
literalmente:	
  
•  \	
  	
  	
   -­‐	
  uElizado	
  para	
  um	
  único	
  caractere;	
  
•  "	
  	
   -­‐	
  uElizado	
  para	
  cadeias	
  de	
  caracteres.	
  Preserva	
  o	
  
significado	
  literal	
  da	
  maioria	
  dos	
  caracteres;	
  
•  '	
  	
   -­‐	
  uElizado	
  para	
  cadeias	
  de	
  caracteres.	
  Preserva	
  o	
  
significado	
  literal	
  de	
  todos	
  os	
  caracteres.	
  
10	
  
Caracteres	
  Especiais	
  
•  `	
  	
  	
   -­‐	
  acento	
  grave.	
  Faz	
  a	
  subsEtuição	
  de	
  um	
  
comando	
  pelo	
  seu	
  resultado.	
  Exemplo:	
  
lista=`ls -l`,	
  armazena	
  a	
  lista	
  de	
  arquivos	
  na	
  variável	
  
lista;	
  
•  |	
  	
   -­‐	
  pipe.	
  Transforma	
  a	
  saída	
  de	
  um	
  comando	
  na	
  
entrada	
  do	
  próximo.	
  Exemplo:	
  
echo "Existem `who | wc –l` usuarios conectados"	
  
11	
  
Caracteres	
  Especiais	
  
•  >	
  	
  	
   -­‐	
  redirecionamento	
  de	
  saída	
  para	
  um	
  arquivo.	
  Se	
  
o	
  arquivo	
  exisEr,	
  apaga	
  o	
  conteúdo	
  anterior;	
  
•  >>	
  	
  -­‐	
  redirecionamento	
  de	
  saída	
  para	
  um	
  arquivo.	
  Se	
  
o	
  arquivo	
  exisEr,	
  acrescenta	
  o	
  novo	
  conteúdo	
  ao	
  final	
  
e	
  mantém	
  o	
  anterior;	
  
•  <	
  	
  	
   -­‐	
  redirecionamento	
  de	
  entrada	
  para	
  um	
  arquivo;	
  
12	
  
Argumentos	
  
•  Argumentos	
  são	
  passados	
  para	
  os	
  comandos	
  ou	
  
scripts	
  a	
  parEr	
  da	
  linha	
  de	
  comando;	
  
•  Exemplos	
  de	
  comandos	
  e	
  seus	
  argumentos:	
  
cd $HOME; mkdir bin; mv nuser bin 
•  Para	
  acessar	
  os	
  argumentos	
  passados	
  para	
  um	
  script,	
  
devemos	
  usar	
  as	
  variáveis	
  especiais	
  $0,	
  $1,	
  $2,	
  
$3,	
  ...	
  ,	
  etc;	
  	
  
– Onde	
  $0	
  é	
  o	
  nome	
  do	
  próprio	
  script,	
  $1	
  é	
  o	
  primeiro	
  
argumento,	
  $2	
  o	
  segundo	
  argumento,	
  e	
  assim	
  por	
  diante;	
  
13	
  
Expansão	
  aritméEca	
  
•  Para	
  realizarmos	
  operações	
  matemáEcas	
  com	
  
números	
  INTEIROS	
  em	
  shell	
  script,	
  usamos:	
  
– Comando	
  let:	
  
 let n=100+100 
 echo "n = $n" 
– Operadores	
  (( ))	
  e	
  $(( )):	
  
 n=0 
 ((n=n+1)) 
 echo "n = $n" 
 echo 20 * 30 = $((20*30))	
  
14	
  
Testes	
  ou	
  condicionais	
  
•  O	
  comando	
  if	
  faz	
  a	
  verificação	
  do	
  status	
  de	
  saída	
  de	
  
um	
  comando.	
  Em	
  caso	
  de	
  sucesso,	
  executa	
  uma	
  
sequência	
  de	
  comandos.	
  Caso	
  contrário,	
  executa	
  
outra	
  sequência	
  de	
  comandos.	
  Exemplo:	
  
if grep $1 agenda.txt > null; then 
 echo "Tenho o telefone do(a) $1" 
else 
 echo "NÃO tenho o telefone do(a) $1" 
fi 
15	
  
•  Comando	
  test:	
  usado	
  para	
  testar	
  condições	
  em	
  shell	
  
scripts,	
  retornando	
  através	
  do	
  seu	
  estado	
  de	
  saída;	
  
•  Serve	
  para	
  comparar	
  números,	
  strings	
  ou	
  testar	
  atributos	
  
e	
  estados	
  de	
  arquivos;	
  
•  Dada	
  a	
  sua	
  uElidade,	
  é	
  normalmente	
  usado	
  em	
  conjunto	
  
com	
  o	
  comando	
  if;	
  
•  Exemplo:	
  	
  
if test "abacate" = "banana"; thenecho "São iguais"; 
else 
 echo "São diferentes"; 
fi 
Testes	
  ou	
  Condicionais	
  
16	
  
Testes	
  ou	
  Condicionais	
  
•  O	
  comando	
  test	
  possui	
  uma	
  forma	
  variante,	
  até	
  mais	
  
uElizada	
  que	
  a	
  anterior:	
  [	
  ...	
  ].	
  Exemplo:	
  
if test "abacate" = "banana"; then 
 echo "São iguais"; 
else 
 echo "São diferentes"; 
fi 
•  Equivalente	
  a:	
  
if [ "abacate" = "banana" ]; then 
 echo "São iguais"; 
else 
 echo "São diferentes"; 
fi 
17	
  
Operadores	
  de	
  comparação	
  
•  Comparação	
  de	
  inteiros:	
  
-eq	
  	
   -­‐	
  igual	
  (equal)	
  
-ne	
  	
   -­‐	
  diferente	
  (not	
  equal)	
  
-gt	
  	
   -­‐	
  maior	
  que	
  (greater	
  than)	
  
-ge	
  	
   -­‐	
  maior	
  ou	
  igual	
  (greater	
  than	
  or	
  equal)	
  
-lt	
  	
   -­‐	
  menor	
  que	
  (less	
  than)	
  
-le	
  	
   -­‐	
  menor	
  ou	
  igual	
  (less	
  than	
  or	
  equal)	
  
•  Exemplo:	
  
if [ 2 -ne 3 ]; then 
 echo "São diferentes!" 
fi 
18	
  
Operadores	
  de	
  comparação	
  
•  Comparação	
  de	
  strings:	
  
=	
  	
   -­‐	
  igual	
  
==	
  	
   -­‐	
  igual	
  (mesmo	
  que	
  =)	
  
!=	
  	
   -­‐	
  diferente	
  
<	
  	
   -­‐	
  menor	
  que	
  (em	
  ordem	
  alfabéEca	
  ASCII)	
  
>	
  	
   -­‐	
  maior	
  que	
  (em	
  ordem	
  alfabéEca	
  ASCII)	
  
-z	
  	
   -­‐	
  string	
  é	
  nula	
  (tem	
  tamanho	
  zero)	
  
-n	
  	
   -­‐	
  string	
  não	
  é	
  nula	
  
OBS:	
  para	
  usar	
  os	
  operadores	
  <	
  e	
  >,	
  com	
  o	
  comando	
  test	
  devemos	
  usar	
  
uma	
  \	
  precedendo-­‐os.	
  Ex.	
  [ "abacate" \< "batata" ] retorna V. 
19	
  
•  Comparação	
  composta:	
  
– E lógico: associa duas expressões e retorna 
verdadeiro se AMBAS são verdadeiras. Qualquer 
outro caso, retorna falso; 
&& - operador do shell; 
-a - operador do comando test; 
– OU lógico: associa duas expressões e retorna 
verdadeiro se PELO MENOS UMA das expressões é 
verdadeira. Caso contrário, retorna falso; 
|| - operador do shell; 
-o - operador do comando test; 
Operadores	
  lógicos	
  
20	
  
Testes	
  em	
  arquivos	
  
•  Alguns	
  operadores	
  para	
  teste	
  em	
  arquivos:	
  
-e	
  :	
  arquivo	
  existe;	
  
-d	
  :	
  é	
  um	
  diretório;	
  
-f	
  :	
  é	
  um	
  arquivo	
  comum	
  (nem	
  diretório	
  nem	
  disposiEvo);	
  
-s	
  :	
  não	
  tem	
  tamanho	
  zero;	
  
-r	
  :	
  tem	
  permissão	
  de	
  leitura;	
  
-w	
  :	
  tem	
  permissão	
  de	
  escrita;	
  
-x	
  :	
  tem	
  permissão	
  de	
  execução	
  ou	
  é	
  um	
  diretório	
  onde	
  se	
  
pode	
  realizar	
  uma	
  pesquisa;	
  
21	
  
Testes	
  em	
  arquivos	
  
•  Exemplo	
  1:	
  
if [ -f $arq ]; then 
 echo "$arq é um arquivo comum" 
else 
 echo "$arq não existe ou não é comum" 
fi 
•  Exemplo	
  2:	
  
if [ ! -f $arq ]; then 
 echo "$arq não existe ou não é comum" 
 exit 1; 
fi 
22	
  
Comando	
  case 
•  O	
  Shell	
  possui	
  o	
  comando	
  case	
  que	
  oferece	
  a	
  
funcionalidade	
  de	
  casamento	
  de	
  padrões.	
  Sua	
  
sintaxe	
  é:	
  
case "$variavel" in 
"$condicao1") 
 comando... 
 ;; 
"$condicao2") 
 comando... 
 ;; 
esac 
23	
  
Comando	
  case 
•  Exemplo:	
  
case "$aquitetura" in 
 i386) echo "máquina 80386" 
 ;; 
 i486) echo "máquina 80486" 
 ;; 
 i586) echo "máquina Pentium" 
 ;; 
 i686) echo "máquina Pentium2+" 
 ;; 
 *) echo "outro tipo de maquina" 
 ;; 
esac 
24	
  
Variáveis	
  $# $* $@ 
•  $#	
   fornece	
  o	
  número	
  total	
  de	
  argumentos	
  passados	
  
para	
  o	
  shell	
  script;	
  
•  $*	
   representa	
  todos	
  os	
  argumentos	
  passados	
  em	
  
uma	
  única	
  string;	
  
•  $@	
   	
  representa	
  todos	
  os	
  argumentos	
  passados	
  
strings	
  separadas;	
  
•  A	
  principal	
  diferença	
  entre	
  $*	
  e	
  $@	
  é	
  que	
  a	
  segunda	
  
preserva	
  eventuais	
  espaços	
  em	
  branco	
  embuEdos	
  
dentro	
  dos	
  argumentos	
  (exemplo	
  adiante);	
  
25	
  
Comando	
  for 
•  Interage	
  sobre	
  uma	
  lista	
  de	
  objetos,	
  executando	
  o	
  
bloco	
  de	
  comandos	
  para	
  cada	
  objeto;	
  
– Objetos	
  podem	
  ser	
  qualquer	
  coisa	
  em	
  forma	
  de	
  lista;	
  
•  Exemplos:	
  
–  a b c d	
  (objetos:	
  letras	
  a,	
  b,	
  c,	
  d);	
  
–  $1 $2 $3	
  (objetos:	
  valores	
  dos	
  três	
  primeiros	
  
argumentos); 
–  "$var1" "$var2" "$var3" "$var4"	
  (objetos:	
  os	
  valores	
  
das	
  variáveis	
  var1,	
  var2,	
  var3,	
  e	
  var4);	
  
–  *.txt (objetos:	
  todos	
  os	
  arquivos	
  com	
  extensão	
  txt);	
  
–  $@ (objetos:	
  todos	
  os	
  argumentos	
  passados	
  para	
  o	
  script); 
26	
  
Comando	
  for	
  
•  Exemplos:	
  
for j in "$@"; do 
 echo $j 
done 
for i in *.txt; do 
 cat < $i 
done 
z=`ls` 
for k in $z; do 
 echo $k 
done 
27	
  
Comando	
  while 
•  O	
  while	
  testa	
  uma	
  condição	
  no	
  início	
  do	
  laço	
  e	
  fica	
  
em	
  loop	
  enquanto	
  essa	
  condição	
  for	
  verdadeira	
  
– Ao	
  contrário	
  do	
  laço	
  for,	
  o	
  while	
  é	
  uElizado	
  em	
  
situações	
  onde	
  o	
  número	
  de	
  repeEções	
  do	
  laço	
  não	
  é	
  
conhecido	
  de	
  antemão.	
  	
  
•  Sintaxe:	
  
while condição; do 
 comando_1 
 comando_2... 
 comando_n 
done	
  
28	
  
Comando	
  while 
•  Exemplo:	
  script	
  que	
  fica	
  solicitando	
  ao	
  usuário	
  que	
  
digite	
  vários	
  números	
  até	
  que	
  ele	
  entre	
  com	
  o	
  valor	
  
0.	
  Neste	
  momento,	
  imprime	
  a	
  soma	
  dos	
  números.	
  	
  
read -p "Numero (0 para sair): " num 
soma=0 
while [ $num -ne 0 ]; do 
 let "soma+=num" 
 read -p "Numero (0 para sair): " num 
done 
echo "Soma = $soma" 
29	
  
Comando	
  until 
•  O	
  until	
  testa	
  por	
  uma	
  condição	
  no	
  início	
  de	
  um	
  
laço	
  e	
  fica	
  em	
  loop	
  enquanto	
  esta	
  condição	
  for	
  falsa:	
  
– Funcionamento	
  oposto	
  ao	
  while;	
  
•  Sua	
  sintaxe	
  é:	
  
until condição; do 
 comando_1 
 comando_2 
 ... 
 comando_n 
done 
30	
  
Comando	
  until 
•  Exemplo:	
  
LIMIT=$1 
var=0 
until [ "$var" -ge $LIMIT ]; do 
 echo -n "$var " 
 let "var+=1" 
done 
31	
  
Comando	
  shift 
•  O	
  comando	
  shift	
  serve	
  para	
  acessarmos	
  os	
  
parâmetros	
  passados	
  a	
  um	
  script	
  de	
  uma	
  outra	
  maneira;	
  
–  Inicialmente,	
  usamos	
  o	
  $1	
  para	
  acessar	
  o	
  primeiro	
  argumento;	
  
–  Em	
  seguida,	
  executamos	
  o	
  comando	
  shift,	
  que	
  faz	
  com	
  que	
  o	
  
primeiro	
  argumento	
  seja	
  eliminado	
  e	
  o	
  segundo	
  argumento	
  se	
  
transforme	
  no	
  primeiro;	
  
–  Agora,	
  se	
  acessarmos	
  novamente	
  o	
  argumento	
  $1,	
  
receberemos	
  o	
  valor	
  do	
  segundo	
  parâmetro;	
  
–  Pode-­‐se	
  repeEr	
  este	
  processo	
  por	
  tantas	
  vezes	
  quantos	
  forem	
  os	
  
argumentos.	
  
32	
  
Comando	
  shift 
•  Exemplo	
  1:	
  imprime	
  todos	
  os	
  argumentos	
  passadoswhile [ "$#" -gt 0 ]; do 
 echo "$1" 
 shift 
done 
•  Exemplo	
  2:	
  imprime	
  metade	
  dos	
  argumentos	
  passados	
  
while [ "$#" -gt 0 ]; do 
 echo "$1" 
 shift 2 
done 
33	
  
Redirecionamento	
  
•  Redirecionamento	
  da	
  entrada	
  do	
  comando	
  read:	
  
while IFS=" " read nome fone; do 
 echo "nome = $nome" 
 echo "fone = $fone" 
 echo "----------------" 
done < agenda.txt 
– Este	
  script	
  redireciona	
  a	
  entrada	
  do	
  comando	
  read	
  para	
  o	
  
arquivo	
  agenda.txt;	
  
– A	
  cada	
  passo,	
  faz-­‐se	
  a	
  leitura	
  das	
  variáveis	
  nome	
  e	
  fone,	
  
até	
  que	
  o	
  arquivo	
  chegue	
  ao	
  fim;	
  
–  IFS=" "	
  indica	
  que	
  o	
  separador	
  dos	
  campos	
  é	
  um	
  espaço.	
  
34	
  
Manipulação	
  de	
  Strings	
  
•  Tamanho	
  de	
  uma	
  string:	
  	
  
–  ${#string};	
  
•  Extração	
  de	
  substring:	
  	
  
–  ${string:pos:tam};	
  	
  
•  Remoção	
  de	
  trecho	
  no	
  inicio	
  da	
  string	
  (menor/maior):	
  
–  ${string#substring}	
  e	
  ${string##substring};	
  
•  Remoção	
  de	
  trecho	
  no	
  fim	
  da	
  string	
  (menor/maior):	
  
–  ${string%substring}	
  e	
  ${string%%substring};	
  
•  Troca	
  de	
  substring	
  
–  ${string/substring/substituta}:	
  troca	
  a	
  primeira	
  ocorrência;	
  
–  ${string//substring/substituta}:	
  troca	
  todas;	
  
35	
  
Dúvidas?	
  
36

Outros materiais