elgio
(usa OpenSuSE)
Enviado em 17/03/2008 - 14:49h
Diede: são MUITAS diferenças!!
Acontece que talvez a maioria use sintaxe tradicional, que funciona em qualquer shell. Tem diferença até mesmo na VERSÃO de bash!
Vou citar apenas algumas de sh para bash:
if [ $A == "teste" ]
Não funciona em sh. sh espera APENAS um = aqui e não dois. Já o bash aceita ambos.
O sh nao tem TODOS os comandos de substituição de strings que o bash tem:
A=35451565
echo ${A/5/A}
echo ${A//5/A}
O primeiro troca a primeira ocorrência de 5 por A. O segundo troca TODAS as ocorrências de 5 por A.
Ambos são ERROS DE SINTAXE em sh!
Isto são dois exemplos rápidos que pensei.
Fora a parte de arrays que o bash tem:
VET[0]=34
VET[1]=45
echo ${VET[0]}
echo ${VET[1]}
Que também são um total mistério para o sh!
Envim, são coisas COMPLETAMENTE diferentes!
O que acontece é que muitos aprenderam a programar em SHELL no tempo do sh e nunca olharam os avanços que o bash traz em termos de poderes.