Stripts linux (tutoriales o ayuda)

chanquete

Necesito aprender el principio básico de los scripts linux, apriori sería "if-else", "case", "while y until" y "for".

La cuestión es que probablemente sea una chorrada, pero mi profesora como que no sabe explicar. Así que si me podeís encontrar un tutorial facilillo y entendible o me podeis explicar facilmente el tema os estaría muy agradecido.

PandragoQ

Scripts, en que lenguaje?? Bash? Perl? Python? Ruby? Puedes hacer un script que corra en linux en el lenguaje que te de la gana....

Si es en bash: bash script tutorial en google te dara buenos resultados, si es cualquier otro, sustituye el nombre del lenguaje. y tambien funcionara :)

1 respuesta
eisenfaust

Con esto tienes más que suficiente para empezar y cubres el 80% de lo que necesitas: http://www.informit.com/articles/article.aspx?p=350778&seqNum=6

Li3cht

Mi profesor siempre me recomendaba poner esto en google, y la verdad es que solía darme solución siempre.
Si por ejemplo dudas del if, escribes "if & bash" y creo que el primer resultado. Para lo demás lo mismo sustituyendo if por lo que sea.

1 respuesta
Nucklear

#4 Yo tambien uso eso y efectivo 100%

De todas formas yo pongo: if + lenguaje pero como google suda de las palabras de union es lo mismo.

1 respuesta
Li3cht

#5 Bueno yo es que deduzco por esto precisamente, que yo estoy dando bash (ahora ya hemos terminado temario), pero desconozco las diferencias entre otros lenguajes como Perl o Python como dice #2. Son a nivel de uso o es que ofrecen más?

1 respuesta
Nucklear

#6 Hombre pues cada cosa es para lo que es, pero python y perl son lenguajes mucho mas potentes y con mas posibilidades que bash.

1 respuesta
allmy

#1 Hablas de shell cripting / bash?

#7 Seh, bash está bastante limitado, pero bueno, si lo acompañas de un buen software las posibilidades se multiplican.

PandragoQ

Bash + sed + awk = Haces lo que te de la gana....

Perl, mola, pero es ilegible... el chiste facil dice que Perl es el unico lenguaje que se lee exactamente igual antes y despues de cifrarlo con RSA :P

Otro dice que Perl es como el dromedario que lo representa.. Es feo, lento y huele mal :P

A mi personalmente, el que mas me gusta es Ruby (sin Rails).

2 respuestas
chanquete

Es en Bash, echaré una ojeadilla de lo que me habeis recomendado.

eisenfaust

#9 Ruby es a Perl lo que un dentista a un doctor.

O cómo inspirarte en Perl, Smalltalk y Lisp para terminar quedándote con lo peor de cada lenguaje.

1 respuesta
PandragoQ

#11 no entiendo tu comparacion de dentista a doctor...

Podrias argumentarme un poco porque se queda con lo peor de esos lenguajes?? No soy ningun guru, uso Ruby para mi backend porque es rapido de programar, rapido en ejecucion y porque me aburria soberanamente programando en C++ y Java, y cuando empece con Ruby volvi a divertirme escribiendo codigo "elegante".

1 respuesta
B

#9 Añado otra :

There's no obfuscated Perl contest because it's pointless.
Jeff Polk

eisenfaust

#12 Sobre Lisp...

Tenemos nil, el hecho de poder usar HOF y una implementación lambda con una sintaxis rarísima. Al margen de eso, nada más. No es homoicónico, la sintaxis no es regular y por lo tanto careces de macros.

Es más, diría que Perl es más parecido a Lisp que Ruby. En Ruby tienes bloques, lambda, procs... En Perl únicamente SUB a lo Scheme. No hace falta más. Ah, y Perl tiene listas, de las de verdad.

Sobre Smalltalk...

El envío de mensajes está roto.
No puedes recibir todos los mensajes que se le envía a un objeto.
Dice que todo es un objeto, pero no es cierto. ¿Un bloque es un objeto?

Sobre Perl...

No dispone de tantas variables especiales globales.
El "do what I mean" está roto. No puedes hacer "2" + 2, o al menos no cuando lo usaba.
El stack se consume a una velocidad de vértigo, sólo lo supera Oz.
No tiene TCO, en Perl se puede simular con GOTO modificando el stack @_;
¿Librerías? CPAN se ríe en Rubygems o como se llame, no sólo en cuanto a la implementación en sí, sino en la calidad y cantidad de librerías disponibles.
Su sistema de objetos queda a la altura del betún si lo comparamos con Moose (Perl) o CLOS (Common Lisp). No tiene multimétodos y es únicamente single-dispatch.
Una nueva línea equivale a una nueva entrada. Esto es horrible a la hora de parsear. ¿Tanto cuesta escribir ";"?
DO END en lugar de { }. ¡Qué gran innovación!
Ruby: [1, 2, 3].inject(0) {|acc, n| sum + n} vs Perl: reduce { $a + $b }. Nada más que decir.
La documentación de Ruby está a años luz de perldoc.
No tiene POD. RDoc es una mierda.
Perl tiene mejor soporte UNICODE.
Perl tiene mejor soporte para hilos, concurrencia y co-rutinas (Coro).
En cuanto a one-liners desde la terminal, Perl > bash + sed + awk >> Ruby.
Existen más formas de manipular un iterador FOR en Perl que en Ruby.
Perl soporta más paradigmas porque no tiene ningún petardo detrás dirigiendo todo, como es el caso de Python y Ruby.

Más cosas...

Su implementación es una basura, hay fragmentación y las versiones posteriores no son compatibles con otras. 1.9.2, 1.9.1, 1.8.7... Nadie sabe qué usar y para colmo esta actitud se contagia al resto de librerías y módulos, donde generalmente a cada nueva versión la lían parda en temas de compatibilidad hacia atrás. Especialmente sangrante es el caso de Rails. Luego si quieres (tienes) tener en una misma máquina varias versiones de Ruby tienes que utilizar RVM que es una castaña.

Perl y Java, en cambio, en este aspecto son ejemplos a seguir.

Resumiendo, es un sumatorio de Perl--, Lisp-- y Smalltalk--. No ha traido al mundo absolutamente nada nuevo. Habrá a quien le guste y se sienta agusto utilizándolo haciendo sus webs de mierda desde su Mac Book Air en el Starbucks de la esquina, pero a mi personalmente me parece un simple juguete.

Hay más cosas en un lenguaje a parte de la sintaxis, aunque no lo parezca. Python y Ruby han hecho un buen trabajo ganando adeptos insultado a Perl y su sintaxis, pero existe una razón por la cual en casi ningún banco o empresa donde la seguridad sea vital te van a dejar utilizar en producción ninguno de estos lenguajes de hippies, pero sí verás Perl, Java, C++ y poco más.

Pero claro, queda muy guay hacer coñas sobre Perl... Claro que no es un lenguaje perfecto, su diseño es una aberración a la altura de C++, pero que sean precisamente los niñatos de Python y Ruby los que más arremeten contra él es cuanto menos irrisorio.

1 respuesta
PandragoQ

#14 Gracias, a eso me referia exactamente..... tienes un MP!

Usuarios habituales