He estado trabajando con algunos scripts de bash últimamente y he estado buscando en las páginas man. Por lo que he reunido, ¿$(())
significa expr
y [ ]
significa test
?
Para $(())
:
echo $((5 + 3))
tiene el mismo resultado que:
echo $(expr 5 + 3)
Para [ ]
:
test 'str' = 'str'
tiene el mismo valor éxito como:
[ 'str' = 'str' ]
¿Entendí bien?
También podría considerar [[]], que le permite hacer la coincidencia de patrones (entre otras cosas). Single [] es la sintaxis del shell Bourne. – cdarke
¡Gracias por el aviso! ¡Lo he resuelto con toda la ayuda que todos ustedes han brindado! ¡Aclamaciones! – Vern
'$ (())' no es un bashismo, es una sintaxis compatible con los estándares nativos de POSIX. 'expr' es una antigüedad de la década de 1970. –