2011-01-21 15 views
8

Me gustaría evitar instalar bash en cada nueva instalación de Debian 6. Así que necesito convertir todos mis scripts bash para correr.
- ¿Cómo harías eso?
- ¿Cuáles son las diferencias entre los 2 idiomas?
- ¿Está al tanto de alguna advertencia y trampa?
- ¿Es posible automatizar esa tarea?¿Cómo migrar los scripts de bash a dash?

+0

Este largly depende de tus scripts, ¿has utilizado muchos trucos específicos de bash? – plundra

+0

Ligeramente irónico (s/levemente/completamente /). Retrocede en el tiempo y asegúrate de que todos tus scripts bash sean portátiles sh. Asegúrese de que todos los scripts futuros de bash estén escritos en sh. Automatizarlo será extremadamente difícil, especialmente si has usado bashisms. –

Respuesta

7

Aquí está a page that shows some Bashisms. Puede usarlo como una guía para portar desde Bash a Dash.

No sé por qué dice que necesita instalar Bash. Se enumera como essential package.

+0

- gracias por el enlace, ese es el tipo de documento que estoy buscando. – dugres

+0

- Comprendí que se instalará dash en lugar de bash. ¿Estarán ambos presentes en la instalación predeterminada? – dugres

+0

@dugres: Sí, ambos se instalarán. Si bien la portabilidad y el cumplimiento de las normas tienen sus ventajas, también lo hace la capacidad de utilizar las funciones adicionales de un idioma con más capacidades. –

5

La mejor estrategia es atenerse a the standard en lugar de a una implementación en particular. Dash está mucho más cerca que Bash.

Puede probar Loker para obtener ayuda. Si le interesa o tiene algún problema, no dude en molestarme por correo electrónico.

Hay algunos other tools también.

+0

sí, me gustaría mantener el estándar, pero no estoy seguro de qué característica de bash es estándar y cuál no, y podría no funcionar con el guión. – dugres

+0

@dugres: lo siento, quizás no estaba claro. Puede leer la especificación para averiguar qué características son estándar o puede verificar sus scripts con las herramientas vinculadas anteriormente. Tratarán de decirle si un script en particular cumple con los estándares. –

+0

gracias, voy a probar estas herramientas. – dugres