¿Podría compartir la parte del script que no funciona en su Mac OS X? En general, expr
se adhiere a IEEE Std 1003.1-2008 (POSIX.1)
y está disponible en todos los sistemas Unix con la misma semántica.
Si compartes más información sobre tu script de bash, estoy seguro de que podemos ayudarte. El ejemplo publicado de expr length
, aunque es bastante inútil en sí mismo, funciona perfectamente en mi Mac OS X Mavericks Shell:
~$ expr length
length
No estoy seguro de lo que has intentado lograr, pero ¿puedo imaginar que intentas obtener la longitud de una cadena?
~$ a="non sequitur"
~$ expr \( "X$a" : ".*" \) - 1
12
~$ echo ${#a}
12
Con respecto a la multiplataforma, realmente depende de lo que está intentando lograr con su script de bash. Bash por sí mismo es bastante multiplataforma.