Eu tenho o nome do host como a seguir
www-foo-1001-1-1.example.com
Estou escrevendo um script para o qual deve implantar o aplicativo que tem a seguinte correspondência de string1001-<any digit>-<any digit>
Exemplo: o script deve corresponder ao seguinte nome de host.
www-foo-1001-1-49
www-foo-1001-4-37
www-foo-1001-2-12
www-foo-1001-8-4
Ignore esse padrão no nome do host.
www-foo-1001-1-2-49
www-foo-1001-1-1-49
www-foo-1001-1
www-foo-1001
ele deve corresponder a esse padrão 1001-N-N
e ignorar qualquer outra coisa.
Mais detalhes que eu quero fazer if then..
e retornar exit
o código de status com $?
o erro de lançamento que não corresponde ao nome do host padrão.
Usando bash:
Isso usa o operador condicional de expressão regular do bash para testar o argumento contra:
1001-
-
$
os padrões estendidos do bash são habilitados dentro do
[[ ... ]]
; então você pode fazerMeu padrão começa com
*-1001-
onde estou assumindo que você não deseja corresponder11001
ou21001
etc.O
==
operador in[[ ... ]]
é um operador de correspondência de padrões.O operando à direita é a variável padrão, mas sem aspas . Isso permite a interpretação do valor da variável como um padrão e não como uma string .