JavaScript tem uma função para isso:
'world'.startsWith('w')
true
Como posso testar isso com shell? Eu tenho este código:
if [ world = w ]
then
echo true
else
echo false
fi
mas falha porque está testando a igualdade. Eu preferiria usar um built-in, mas qualquer utilitário desta página seria aceitável:
http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html
Se o seu shell for bash: entre colchetes duplos, o lado direito do operador == é um padrão, a menos que esteja totalmente citado:
Ou mais sucintamente:
[[ world == w* ]] && echo true || echo false
[*]Se você não estiver direcionando o bash especificamente: use a instrução case para correspondência de padrões
[*] mas você precisa ter cuidado com o formulário
A && B || C
porqueC
será executado se A falhar ou B falhar. O formulário só executará C se A falhar.if A; then B; else C; fi
Então:
w
da string de origemOu:
w
da string de origem