¿Hay algún IDE de scripting de shell bien conocido y utilizado para Un * x?

¿Existen IDE dirigidos a la creación de scripts de shell, específicamente scripts bash y zsh? Esto significa tener resaltado de sintaxis para scripts de shell y, lo que es más importante, entornos de depuración con características como puntos de interrupción, inspección y modificación de variables, etc., al igual que los disponibles para lenguajes de programación regulares como Python, Java y C.

Por ejemplo, Microsoft Windows Powershell tiene IDE como Powershell Plus y PowerGui .

Al buscar en Google, apareció una combinación de ShellEd , un complemento de Eclipse para editar scripts de shell, y BashEclipse , un depurador de Bash que funciona con ShellEd; No lo he probado todavía.

¿Hay otros IDE de scripts de shell para Un * x similares a este combo? ¿Alguien tiene alguna experiencia con ellos?

Comentarios

  • No voté en contra, pero quienquiera que lo haya hecho, lo hizo porque no estás haciendo una pregunta. La única pregunta en tu publicación puede responderse con un Sí / No. ¿Qué estás preguntando realmente? ? ¿Cómo funcionan estos programas? ¿Qué hacen? ¿Qué estás tratando de hacer exactamente?
  • ¿Un IDE de bash? ¿Fisión nuclear para hervir agua para hacer té …
  • En realidad, habiendo un depurador de bash es una muy buena idea – al igual que con cualquier lenguaje de programación, su código será mejor si recorre lentamente cada línea en el depurador, examina las variables, piensa en lo que está haciendo el código, etc. Un depurador es la mejor manera de hacerlo, incluso si su programa o secuencia de comandos no ‘ t tiene errores. Puede obtener bashdb en la mayoría de las distribuciones, lo que le permitirá hacerlo en modo texto. También , el depurador gráfico DDD envejecido puede estar hecho para trabajar con bashdb para que tenga una experiencia más » visual «.
  • Sí, ciertamente uno puede Haz eso. Y muchos lo hacen, y eso ‘ es cómo se las arreglan durante años. Si eso le conviene, no ‘ trataría de convencerle de lo contrario. En mi opinión, es un enfoque inferior que carga al cerebro con tareas de bajo valor (como hacer un seguimiento mental de los valores de las variables, etc.). La idea de una buena interfaz de usuario del depurador es liberar esos ciclos para pensar en el programa. En mi experiencia, esto es importante: tiene más atención libre para concentrarse en pensar en lo que está haciendo el programa si ‘ gasta menos en esas cosas.
  • Para aquellos de nosotros con hervidores o cocinas eléctricas en los EE. UU. o Europa, una buena parte de nuestra generación eléctrica de carga base es suministrada por plantas de energía nuclear, por lo que cuando hervimos agua para hacer té, estamos usando fisión nuclear, al menos parcialmente .

Respuesta

No diría que es bien conocido o bien utilizado, pero es posible que tenga un mire basheclipse :

ingrese la descripción de la imagen aquí

Debo admitir que no tengo experiencia con basheclipse e incluso no pude instalarlo debido a una falta de coincidencia en la versión de eclipse.

Por otro lado, estoy usando funciones de depuración específicas de bash y ksh93, especialmente trap ERR y trap DEBUG pero no los depuradores basados en ellos kshdb y bashdb

Comentarios

  • Me parece bastante irónico que tu captura de pantalla sea de una ventana al estilo de Windows.
  • @NigelNquande Para ser honesto, ‘ m no es un usuario de basheclipse (o eclipse para el caso). Definitivamente uso las funciones de depuración proporcionadas por ksh93 y bash, pero no GUI. Esta captura de pantalla está tomada del sitio basheclipse. Puede ser un tema de gnome o simplemente una captura de pantalla real de Windows 7 dada la línea OS = » cygwin «.
  • Bueno, en mi opinión, si ‘ vas a hacer algo, hazlo con las botas puestas, no medio ed (pero eso ‘ s ni aquí ni allá para nadie más). Para mí, bash en Windows parece medio sed cuando funciona perfectamente bien en GNU / Linux.
  • @NigelNquande Como escribí, esto no es ‘ una captura de pantalla mía. En cualquier caso, solo uso bash en Windows cuando no tengo otra opción y cygwin es bastante eficiente para ocultar el sistema operativo subyacente.
  • @ user7000 escribí e incluso no pude instalarlo debido a una discrepancia en la versión de eclipse pero no ‘ no recuerdo qué versión de eclipse era. Sin embargo, ¿está documentado que funciona con Eclipse 4.5.2: sourceforge.net/projects/basheclipse/files/?source = navbar
  • Respuesta

    Un IDE diseñado específicamente frustraría el propósito de scripts de shell, sin mencionar que es casi imposible de hacer, porque la mayor parte de lo que hace el shell es llamar a comandos externos. ¿Cómo se depura eso? La depuración con puntos de control es contraria a la intuición para un shell. tener efectos secundarios destructivos en cada llamada. Scripting BY DESIGN funciona línea por línea, por lo que su «entorno» es en realidad la terminal en sí; siempre puede hacer eco de las variables, su entorno siempre está ahí para usted, no hay un «flujo prescrito» que tendrías que interrumpir. Progresivamente haces lo que quieras, línea por línea, probando cada vez si obtuviste lo que querías y luego pegas estas líneas en un script para usar nuevamente. Cualquier IDE en realidad simplemente deshabilitaría la mayoría puede hacerlo en el propio shell.

    Para lenguajes de scripting totalmente calificados (Python, Perl, etc.), tiene una Todo esto, pero bash / zsh / ksh / … son un «pegamento» interactivo para otros comandos y son sus propios depuradores.

    Sin embargo, la mayoría de los editores de texto resaltarán el código por usted y emacs proporcionará (siempre que encuentre los paquetes correctos, nunca me molesté en hacer eso para los scripts de shell) la finalización programable de palabras clave. Creo que vi también puede hacer eso (no inicies una guerra de llamas aquí, por favor).

    Comentarios

    • ¿Cómo se define un » lenguaje de secuencias de comandos totalmente calificado? »
    • @TrevorSullivan a su manera . Don ‘ t, por favor, cede al odio.
    • @Det: Era una pregunta legítima, si podemos ‘ si no todos estamos de acuerdo en una definición común y concreta de la frase, entonces es mejor que no tengamos una discusión al respecto. Yo ‘ solo tengo curiosidad por saber qué se entiende por esa frase.
    • No ‘ no estoy de acuerdo con que los IDE anulen el propósito de las secuencias de comandos de shell. Es posible que desee limpiar sus secuencias de comandos de shell (por ejemplo, variables extrañas en línea, detectar variables no utilizadas, que es lo que ‘ estoy tratando de hacer para limpiar mis scripts de System V Init, que se vuelven innecesariamente largos, especialmente cuando se duplican de los existentes ejemplos).
    • También agregaría eso y el IDE proporciona intellisense u otras herramientas para que no ‘ no tenga que seguir buscando en Google o en páginas de manual para recordar algunas cosas. También me permite mantener todos mis scripts juntos en un proyecto, saltar líneas, inspeccionar argumentos entrantes, probar bucles e interruptores, romper una tubería para inspección, etc.

    Respuesta

    También apoyo la idea de usar un IDE para scripts bash.

    Uno puede escribir scripts bash usando el cuaderno jupyter.

    El cuaderno jupyter se puede instalar a través de anaconda mientras que un kernel bash para el cuaderno jupyter (o jupyterlab) se puede instalar con los siguientes comandos ( fuente ):

    pip install bash_kernel y

    python -m bash_kernel.install

    Después de eso, puede seleccionar bash en un nuevo lanzador instancia de anaconda navigator, como se muestra a continuación.

    Lo único es que (hasta donde yo sé) no funciona con comandos que debe ingresar en el indicador, como read o cualquier otro argumento que pase después de llamar al script. Pero aparte de eso, funciona bastante bien.

    ingrese la descripción de la imagen aquí

    Respuesta

    Encontré este problema yo mismo, significa que busqué IDE de script bash, hay muchos complementos en IDE popular al igual que eclipse y muchos otros. pero encontrar mucho trabajo tratando con IDE sólo para construir pequeños scripts bash. Por otro lado, trabajar con editores causa muchos errores de sintaxis y pérdida de tiempo, sin mencionar que no es nada divertido.

    así que encontré una herramienta de script bash en línea para crear scripts, se «llama http://bashops.net , eso» s en línea, inmediatamente puedo comenzar a trabajar en la construcción de un script bash, sin tener que ocuparme de ninguna instalación.

    Responder

    Me gustaría sugiera la edición PyCharm Community con el complemento BashSupport . Esto tiene excelentes funcionalidades IDE con intellij intellisense.

    Respuesta

    Rogalmic escribió los complementos VSCode para bashdb y zshdb .

    Se basan en mis depuradores para bash y zsh , por lo que manejan muchos de los casos extremos que faltan, por ejemplo, el depurador de eclipse para bash.

    Respuesta

    Pruebe este sitio. También estoy buscando lo mismo y quiero poder probar el script primero y no afectar mi sistema. Este es un editor en línea para bash.

    https://repl.it/languages/bash

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *