De la diferencia entre bash y sh :
Regrese a la pregunta: si tiene
/bin/sh
un enlace a bash, entonces bash no se comportará de la misma manera cuando se lo llama que/bin/sh
cuando se lo llama/bin/bash
. Cuando se llama comosh
, se limitará principalmente a la conformidad POSIX más un conjunto limitado de extensiones.
¿Significa que cada vez que me encuentro con un script de shell en Linux con un shebang para sh: #!/bin/sh
incluso si en esa distribución, bin/sh
es un enlace simbólico a otro shell, como dash o bash, debería ser 100% compatible con el shell bourne, ya que se limita a un conjunto limitado de extensiones? ¿Entonces podría ejecutarlos en FreeBSD? ¿Hay alguna excepción a eso? ¿O debería estar seguro de asumir que funcionará?
Entonces, si está en una distribución, ¿ bin/sh
hay un enlace simbólico a bin/bash
, y el uso de un script #!/bin/sh
y el script contienen bashism, no se ejecutará, ya que bash querrá estar en modo sh?