Normalmente trabajo en máquinas con Windows, pero en algunas ocasiones cambio al desarrollo en Linux. Y mi proyecto más reciente se escribirá completamente en ciertas plataformas linix (no en la configuración estándar de Apache / MySQL / PHP). Así que pensé que pagaría aprender a escribir algún script de automatización de Linux ahora.
Puedo recorrer el sistema, iniciar / detener servicios, compilar / instalar cosas bien. Esos son probablemente ejercicios básicos para un programador. Pero si, por ejemplo, quisiera implementar una determinada aplicación automáticamente en una máquina Linux recién creada cada mes, me encantaría saber cómo hacerlo.
Entonces, si quisiera aprender las secuencias de comandos de shell de Linux, ¿qué libro debería leer?
ash
, y una distribución muy pequeña también tiende a usar shells despojados como el busyboxsh
.Aprender Bash Shell junto con Classic Shell Scripting , seguido de Bash Cookbook .
Sugeriría cargar los dos primeros libros, sin preocuparse demasiado por recordarlo todo. Hágales referencia a que quiere hacer algo sobre lo que recuerde haber leído, pero no recuerde cómo hacerlo realmente. Y regrese a ellos unos meses más tarde y aprenda cosas nuevas de ellos.
Tenga en cuenta que esto proviene de la perspectiva de un administrador de Linux, por lo que me inclino hacia las sutilezas de bash sobre el sh más puro. Es solo el script raro que me molesto en hacer que sh sea compatible. Además, no considero que tcsh sea un lenguaje de script legítimo.
fuente
Las secuencias de comandos de shell no son secuencias de comandos de shell. Los diferentes sistemas vienen con diferentes capas y las diferencias en sintaxis y semántica son significativas.
Otros han mencionado los libros de Bash, para Korn shell recomiendo O'Reilly's Learning the Korn Shell . Si tiene que escribir scripts de shell portátiles, también hay de O'Reilly: Classic Shell Scripting .
En mi opinión: escribir scripts de shell portátiles es una auténtica pesadilla incluso para las personas que están bastante acostumbradas a un determinado shell. Si proviene de Windows, está familiarizado con las cosas básicas (iniciar / detener servicios, compilar / instalar cosas) y su objetivo es la automatización. Personalmente, me quedaré con Perl.
Si bien Perl tiene sus defectos, es cuando se trata de pegar diferentes partes donde brilla. Y esto es lo que constituye la mayor parte de la automatización en mi experiencia. Además, en los sistemas Unix, Perl es omnipresente.
fuente
Compré la estrella de comandos de Linux ' Linux Command Line and Shell Scripting Bible ' de Richard Blum (ISBN: 047025128X) por llegar a ese 'scripting de shell serio' y debo decir que estoy muy impresionado por el libro. Le brinda un conocimiento profundo sobre las secuencias de comandos de shell, pero también otros conceptos necesarios en ese contexto, como el funcionamiento de los permisos del sistema de archivos de Linux y sus herramientas Unix que debe conocer, como grep.
fuente