Pregunta

Yo uso bash, y lo han hecho desde hace más de una década - pero a veces me pregunto si ha habido cualquier novedad significativa en el mundo de las conchas de Linux

.

Hace unos años Microsoft lanzó PowerShell, que parecía muy interesante. ¿Hay alguna innovación comparables pasando en shells de Linux?

¿Fue útil?

Solución

Puede ejecutar PowerShell en Linux a través de Pash . Utiliza la forma Mono PowerShell utiliza .NET.

Otros consejos

¿Se da cuenta bash 4 muy recientemente ha sido puesto en libertad con una carga de nuevas características y adiciones idioma?

  • Opciones de Shell globstar (**/foo) hace una búsqueda recursiva, correcciones de errores tipográficos dirspell durante la expansión ruta.
  • Las matrices asociativas, mapa cadenas a cadenas, en lugar de sólo números a cadenas.
  • La opción del shell autocd permite cambiar directorios con solo teclear la ruta del directorio en lugar de tener que poner cd delante.
  • Coprocesses
  • &>> y redirección |& operadores que redirigen tanto stdout y stderr
  • Cargas de adiciones a órdenes internas existentes para mejorar la comodidad de secuencias de comandos.

Salida:

Me gustaría tener un vistazo a zsh o fishshell.

Una de las características menos promocionado de Bash (y varias otras conchas) es la capacidad de escribir sus propias instrucciones cargables, y tienen la cáscara de ellos ejecuta como órdenes internas.

Digamos que escribir el cargable 'on' .. y que desea que funcione de esta manera:

on node 123 run some command
on class nodes run some command
on all nodes run some command

... etc ..

Puede seguir ejemplos sencillos sobre cómo escribir un cargable, a continuación, habilitar como una fiesta construida en medio de permitir -f / ruta / a / cargable loadable_name

Así que en nuestro caso, permitir -f / opt / bash / cargables / ON en

... en su bashrc, y lo tienes.

Por lo tanto, si usted quiere tener fiesta de interpretar su nuevo idioma spiffy forma nativa, podría escribir un cargable llamado 'uso' o 'switch_to', a continuación, modificar el analizador para cargar una gramática diferente / tiempo de ejecución si se establece una cierta variable de entorno .

es decir:.

#/bin/bash

switch_to my-way-cool-language

funkyfunc Zippy(int p) [[
   jive.wassup(p) ]]

La mayoría de las personas son no va a querer cortar su cáscara, sin embargo. Yo quiero señalar que existen instalaciones para tomar Bash y que sea la forma que desee, sin tocar el violín demasiado con código del núcleo.

Vea / ruta-a-Bash-source / ejemplos / cargables, que podría ser capaz de conseguir que volar en la que trabaja, ya que todavía está utilizando Bash.

I piensan que la "cáscara mejorada original" es ksh93 . fiesta entró en existencia en un momento en el código fuente ksh era propietaria; ksh si hubiera sido de código abierto entonces, puede ser que no se han considerado necesarias para tener una nueva shell (aunque con la FSF nunca se sabe). ksh es digno de estudio, sobre todo por su capacidad para extenderse a través de módulos C, pero no es una clara victoria sobre bash. terminación automática de bash es claramente superior, que puede ser suficiente para hacer fiesta de una victoria en la general. En cualquier caso bash y ksh han hecho esfuerzos sustanciales para converger, por lo que las diferencias son menores.

El otro shell interesante es zsh , que intenta ser todo lo que ksh es al mismo tiempo incluyendo CSH. Ya que nunca vi cualquier punto o el uso de CSH, no soy la persona adecuada para abogar por zsh. Voy a señalar una incompatibilidad inusual: por defecto, en zsh un $var variables siempre se expande a una sola razón, incluso si contiene espacios. Este comportamiento es incompatible con cualquier shell sh-derivados, y en ocasiones es un inconveniente, pero en realidad tiene mucho más sentido que el original, y se ahorra muchísimo de citar.

CSH fue la primera cáscara de tener el control de trabajos, pero en mi mente (y sus sucesores) ha sido reemplazado por bash y ksh. Nunca se mucn divertido escribir guiones en.

Por último, hay muchas pequeñas conchas diseñados para disquetes de rescate (!) Y otros entornos Spartan, pero suena como que tiene poco interés en ellos.

(En el asunto de la innovación, debo añadir que más de la mitad de los guiones que se utiliza para escribir secuencias de comandos shell son ahora scripts Lua . Otros podrían decir lo mismo de Python o Ruby, o en su día, Perl o Tcl. Así que creo que la verdadera innovación es la migración lejos de la cáscara para la interacción programable en la línea de comandos.)

IIRC, Powershell es orientada a objetos, mientras que la mayoría de las conchas y utilidades de Unix operan en el texto. En ese sentido, ardilla Shell podría interesarle. Nunca he utilizado, sin embargo.

Si usted está dispuesto a perder la compatibilidad sh, se podría contemplar la utilización de un lenguaje de programación como Python o Tcl como su cáscara. rlwrap puede ser muy útil si el intérprete no proporciona la edición de línea, comandos la historia, la terminación, etc.

Una filosofía con respecto conchas es que se debe principalmente solamente pueden utilizar para conectar con los procesos de archivos ( aquí es una página que propugna que el enfoque ). Dicho esto, la gente ha escrito algún tipo de software muy complejo de usarlos.

Los depósitos no vienen mucho más inovative que el Esquema Schell . Todo el poder del Esquema combinado con la capacidad de ejecutar comandos Unix y un intérprete awk incrustado (escrito en el esquema, por supuesto). El único inconveniente es que se necesita un poco de parches de aprovechar 64 bits de Linux.

No es exactamente Bourne-Shell, pero es diferente. Por supuesto, usted tiene que aprender Esquema - prima

!

Si te gusta rubí, puede utilizar fiebre (cáscara de rubí en UNIX, no IRB)

ver la presentación aquí

http: //www.slideshare. net / adamwiggins / punta del-ruby-shell-and-UNIX-integración-biblioteca

o sitio web oficial para ver más ejemplos

http://rush.heroku.com/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top