Shell Bash - Execução simples e sequencial de comandos no Linux
Índice:
Uma das operações mais comuns ao trabalhar com seqüências de caracteres no Bash é determinar se uma sequência contém ou não outra sequência., mostraremos várias maneiras de verificar se uma string contém uma substring.
Usando curingas
A abordagem mais fácil é cercar a substring com símbolos curinga do asterisco (asterisco)
*
e compará-lo com a sequência. Curinga é um símbolo usado para representar zero, um ou mais caracteres.
Se o teste retornar
true
, a substring estará contida na sequência.
No exemplo abaixo, estamos usando a instrução if e o operador de igualdade (
==
) para verificar se a substring
SUB
é encontrada na cadeia
STR
:
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Quando executado, o script produzirá:
Usando o operador de caso
Em vez de usar a instrução if, você também pode usar a instrução case para verificar se uma sequência inclui ou não outra sequência.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac
Usando o operador Regex
Outra opção para determinar se uma substring especificada ocorre em uma sequência é usar o operador regex
=~
. Quando esse operador é usado, a sequência correta é considerada uma expressão regular.
O período seguido por um asterisco
.*
Corresponde a zero ou mais ocorrências de qualquer caractere, exceto um caractere de nova linha.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
O script ecoará o seguinte:
Usando Grep
O comando grep também pode ser usado para encontrar cadeias em outra cadeia.
No exemplo a seguir, estamos passando a string
$STR
como uma entrada para grep e verificando se a string
$SUB
é encontrada dentro da string de entrada. O comando retornará
true
ou
false
conforme apropriado.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi
A opção
-q
diz ao grep para ficar quieto, para omitir a saída.
Conclusão
Verificar se uma cadeia de caracteres contém uma subcadeia de caracteres é uma das operações mais básicas e usadas com mais freqüência nos scripts do Bash.
Depois de ler este tutorial, você deve entender bem como testar se uma sequência inclui outra. Você também pode usar outros comandos como
awk
ou
sed
para teste.
O esforço reúne uma série de produtos e serviços IBM, alguns recentemente adquiridos, sob uma nova marca abrangente: a MobileFirst. É destinado a um mercado que muitos vêem como maduro para expansão - ajudando as empresas a transformar a proliferação de smartphones e tablets de uma dor de cabeça de gerenciamento em uma vantagem.
[Mais leitura: Os melhores telefones Android para cada orçamento. ]
O tema Furry Families mostra o amor maternal de muitos animais como leões, lontras, Ursos polares, cavalos, raposas e cães da pradaria. O pacote temático de 11,8MB contém 14 wallapapers legais que você adoraria ver em qualquer área de trabalho do Windows.
O Dia das Mães normalmente é celebrado no segundo domingo de maio. Este ano cai no dia 13 de maio. A idéia por trás disso é celebrar a maternidade e honrar as mães por tudo o que elas fazem por seus filhos. Para comemorar este dia, a Microsoft lançou o novo tema Furry Families para o Windows 7.
Como verificar se existe um arquivo ou diretório no bash
Muitas vezes, ao escrever scripts do Shell, você pode encontrar uma situação em que precisa executar uma ação com base na existência ou não de um arquivo. No Bash, você pode usar o comando test para verificar se existe um arquivo e determinar o tipo do arquivo.