es.phhsnews.com


es.phhsnews.com / ¿Cuándo es mejor usar #! / Bin / bash en lugar de #! / Bin / sh en un script de shell?

¿Cuándo es mejor usar #! / Bin / bash en lugar de #! / Bin / sh en un script de shell?


Cuando está creando un nuevo script de shell, desea hacer seguro que es lo más libre de problemas posible, pero a veces puede ser un poco confuso saber qué shebang es el mejor para usar. En ese sentido, la publicación SuperUser Q & A de hoy tiene la respuesta a una pregunta confusa del lector.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios de preguntas y respuestas.

The Question

SuperUser reader Hendre quiere saber cuándo es mejor usar #! / Bin / bash en lugar de #! / Bin / sh en los scripts de shell:

¿Cuándo es más apropiado usar #! / Bin / bash en lugar de #! / Bin / sh en un script de shell?

¿Cuándo es mejor usar ? #! / bin / bash en lugar de #! / bin / sh en una secuencia de comandos de shell?

La respuesta

SuperUser contribuidor grawity tiene la respuesta para nosotros:

En short:

  • Hay varias shells que implementan un superconjunto de la especificación POSIX sh. En sistemas diferentes, / bin / sh podría ser un enlace a ash, bash, dash, ksh, zsh, etc. Sin embargo, siempre será compatible con sh, nunca con csh o fish.
  • Siempre como solo se adhiere a las características sh, puede (y probablemente incluso debería) usar #! / bin / sh y la secuencia de comandos debería funcionar bien, sin importar qué shell sea.
  • Si comienza a usar características específicas de bash (es decir, matrices), debe solicitar específicamente bash porque, incluso si / bin / sh ya invoca bash en su sistema, es posible que no en el sistema de todos los demás, y su secuencia de comandos no se ejecutará allí . Lo mismo se aplica a zsh y ksh, por supuesto.
  • Incluso si el script es solo para uso personal, es posible que observe que algunos sistemas operativos cambian / bin / sh durante las actualizaciones. Por ejemplo, en Debian solía ser bash, pero luego fue reemplazado por el guión mínimo. Los guiones que usaban bashisms pero tenían #! / Bin / sh se rompieron de repente.

Sin embargo:

  • Incluso #! / Bin / bash no es correcto. En sistemas diferentes, bash podría vivir en / usr / bin , / usr / pkg / bin , o / usr / local / bin .
  • A la opción más confiable es #! / usr / bin / env bash , que usa $ PATH . Aunque la herramienta env tampoco está estrictamente garantizada, / usr / bin / env aún funciona en más sistemas que / bin / bash .

Tiene algo que agregar al ¿explicación? Suena apagado en los comentarios. ¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí.

Crédito de la imagen: Wikipedia


Cómo saltear anuncios automáticamente en NextPVR con Comskip

Cómo saltear anuncios automáticamente en NextPVR con Comskip

Así que ha configurado TV en vivo en su computadora con NextPVR, y tal vez incluso lo ha configurado para transmitirlo a todas las computadoras de su casa. El único inconveniente? Esos anuncios molestos en sus shows grabados. He aquí cómo deshacerse de ellos automáticamente. Comskip es un programa gratuito de Windows capaz de detectar comerciales en programas de televisión grabados.

(how-to)

Cómo enviar iMessages autodestructivos con Confide

Cómo enviar iMessages autodestructivos con Confide

¿Desea algo un poco más efímero que lo que permite la "Invisible Ink" de iMessage? Confide te ayuda a enviar mensajes de autodestrucción que se ven una vez y luego desaparecen para siempre. Cómo funciona Confide en iMessage Como hemos resaltado en nuestra descripción de las funciones de iOS 10 y luego nos sumergimos en nuestra guía de aplicaciones de iMessage, ahora iMessage un ecosistema de aplicaciones que es como una versión en miniatura de la App Store de iOS.

(how-to)