¿Alguien puede poner estas herramientas en orden de portabilidad? ¿Cuál de estos es seguro que se encuentra incluso en los sistemas *nix más mínimos? ¿Alguno de ellos está 100% seguro de estar presente? Supongo que el orden es el siguiente:
- wow
- sed
- sh
- perla
Si bien me imagino que hay sistemas que no utilizan de manera predeterminada un Bourne Shell, algunos shell estará presente por defecto, siempre estará en /bin/sh
? Presumiblemente no si no es un caparazón tipo bourne. Ambos awk
y sed
tienen páginas que los explican sobre la especificación POSIX, por lo que presumiblemente siempre estarán presentes. ¿Es así?
¿Puedo estar seguro? que ambos se instalarán en cualquier *nix? ¿Incluyendo sistemas embebidos?
Respuesta aceptada:
¿Cuál es el más portátil de sed, awk, perl y sh?
sed
, sh
y awk
son portátiles especificados por POSIX, perl
no es como no estar respaldado por un estándar.
¿Alguien puede poner estas herramientas en orden de portabilidad?
Si se apega al código compatible, no debería haber un orden de portabilidad para los tres comandos POSIX.
¿Cuál de estos seguramente se encontrará incluso en los sistemas *nix más mínimos?
Los tres POSIX, junto con muchas otras utilidades, son obligatorios para que un sistema operativo sea POSIX. Sin embargo, existen sistemas operativos que carecen de algunos de ellos debido a la minimización, o que proporcionan implementaciones incompletas o no conformes.
En realidad, la mayoría (si no todos) los sistemas operativos similares a Unix gratuitos y de código abierto probablemente no pasarían el proceso de conformidad si lo intentaran, y nunca lo intentan de todos modos.
¿Alguno de ellos está 100% seguro de estar presente?
Me sorprendería encontrar un sistema operativo * nix como el que carece de un shell basado en la sintaxis de Bourne, pero todo es posible, especialmente con sistemas integrados.
Supongo que el orden es el siguiente:
Algún shell estará presente como predeterminado, ¿siempre estará en /bin/sh?
/bin/sh
es probable que sea un shell de la familia de sintaxis Bourne, pero no se garantiza que sea compatible con POSIX, incluso en sistemas compatibles con POSIX. Por ejemplo, es /usr/xpg4/bin/sh
en Solaris 10 y anteriores mientras /bin/sh
es el shell Bourne original heredado que no es POSIX.