Existe-t-il des IDE ciblant les scripts shell, en particulier les scripts bash et zsh? Cela signifie avoir une coloration syntaxique pour les scripts shell et, plus important encore, des environnements de débogage avec des fonctionnalités telles que les points darrêt, linspection et la modification de variables, etc., tout comme celles disponibles pour les langages de programmation classiques tels que Python, Java et C.
Par exemple, Microsft Windows Powershell a des IDE comme Powershell Plus et PowerGui .
Google a mis en place une combinaison de ShellEd , un plugin Eclipse pour lédition de scripts shell, et BashEclipse , un débogueur Bash qui fonctionne avec ShellEd; Je nai pas encore essayé.
Existe-t-il dautres IDE de script shell pour Un * x similaires à ce combo? Quelquun a-t-il une certaine expérience avec eux?
Commentaires
- Je nai pas voté contre, mais celui qui la fait, la fait parce que vous ne posez pas de question. La seule question de votre message peut être répondue par Oui / Non. Que demandez-vous réellement ? Comment fonctionnent ces programmes? Que font-ils? Quessayez-vous de faire exactement?
- Un IDE bash? La fission nucléaire pour faire bouillir de leau pour le thé …
- En fait, avoir un débogueur bash est une très bonne idée – comme avec nimporte quel langage de programmation, votre code sera meilleur si vous parcourez lentement chaque ligne du débogueur, examinez les variables, réfléchissez à ce que fait le code, etc. Un débogueur est la meilleure façon de faire cela, même si votre programme ou script na ‘ t avoir des bogues. Vous pouvez obtenir bashdb dans la plupart des distributions, ce qui vous permettra de le faire en mode texte. Aussi , le débogueur graphique vieillissant DDD peut être fait pour fonctionner avec bashdb afin que vous ayez une expérience plus » visuelle « .
- Oui, certainement fais ça. Et beaucoup le font, et cest ‘ comment ils sen sortent pendant des années. Si cela vous convient, je n’essaierais ‘ de vous convaincre du contraire. À mon avis, cest une approche inférieure qui impose au cerveau des tâches de faible valeur (comme le suivi mental des valeurs des variables, etc.). Lidée dune bonne interface utilisateur de débogage libère ces cycles de réflexion sur le programme. Daprès mon expérience, cest important – vous avez plus dattention libre pour vous concentrer sur ce que fait le programme si vous ‘ en dépensez moins pour de telles choses.
- Pour ceux dentre nous qui possèdent des bouilloires ou des cuisinières électriques aux États-Unis ou en Europe, une bonne partie de notre production électrique de base est fournie par des centrales nucléaires, donc lorsque nous faisons bouillir de leau pour le thé, nous utilisons la fission nucléaire, au moins partiellement .
Réponse
Je ne dirais pas que cest bien connu ou bien utilisé, mais vous pourriez avoir un regardez basheclipse :
Je dois admettre que je nai aucune expérience avec basheclipse et que je nai même pas réussi à linstaller en raison dune incompatibilité de version déclipse.
Dun autre côté, jutilise les fonctionnalités de débogage spécifiques à bash et ksh93, en particulier trap ERR
et trap DEBUG
mais pas les débogueurs basés sur eux kshdb et bashdb
Commentaires
- Je trouve plutôt ironique que votre capture décran soit une fenêtre de style Windows.
- @NigelNquande Pour être honnête, je ‘ m pas un utilisateur basheclipse (ou éclipse dailleurs). Jutilise certainement les fonctionnalités de débogage fournies par ksh93 et bash, mais pas dinterface graphique. Cette capture décran est tirée du site basheclipse. Il peut sagir dun thème gnome ou simplement dune vraie capture décran de Windows 7 étant donné la ligne OS = » cygwin « .
- Eh bien, OMI, si vous ‘ allez faire quelque chose, faites-le avec des bottes, pas un demi- ed (mais cela ‘ nest ni ici ni là pour personne dautre). Pour moi,
bash
sous Windows me semble un demi- sed quand il fonctionne parfaitement bien sous GNU / Linux. - @NigelNquande Comme je l’ai écrit, ceci nest ‘ quune capture décran de la mienne. Dans tous les cas, je nutilise bash sous Windows que lorsque je nai pas le choix et que
cygwin
est assez efficace pour masquer le système dexploitation sous-jacent. - @ user7000 Jai écrit et même échoué à linstaller en raison dune incompatibilité de version dEclipse mais je ne me souviens ‘ de quelle version dEclipse il sagissait. Est-il documenté pour fonctionner avec Eclipse 4.5.2 cependant: sourceforge.net/projects/basheclipse/files/?source = navbar
Réponse
Un IDE spécialement conçu irait à lencontre de lobjectif de shell scripting, pour ne pas mentionner que cest presque impossible à faire, parce que la plupart de ce que fait le shell appelle des commandes externes – comment déboguer cela? Le débogage avec des points de contrôle est contre-intuitif pour un shell – les scripts shell fonctionnent généralement fortement sur les fichiers et donc ont des effets secondaires destructeurs à chaque appel. Les scripts BY DESIGN fonctionnent ligne par ligne, donc votre « environnement » est en fait le terminal lui-même – vous pouvez toujours faire écho aux variables, votre environnement est toujours là pour vous, il ny a pas de « flux prescrit » que vous auriez à interrompre. Vous faites progressivement ce que vous voulez faire, ligne par ligne, en testant à chaque fois si vous avez ce que vous vouliez, puis collez ces lignes dans un script pour lutiliser à nouveau. Tout IDE désactiverait en fait la plupart de ce que vous pouvez le faire dans le shell lui-même.
Pour les langages de script pleinement qualifiés (Python, Perl, etc.), vous avez un ll ceci, mais bash / zsh / ksh / … sont des « glues » interactives pour les autres commandes et sont leurs propres débogueurs.
Cependant, la plupart des éditeurs de texte mettront en évidence le code pour vous, et emacs
fournira (à condition que vous trouviez les bons paquets, je nai jamais pris la peine de faire cela pour les scripts shell) fournira une complétion de mot-clé programmable. Je crois que vi
peut le faire aussi (ne lancez pas une guerre de flamme ici sil vous plaît).
Commentaires
- Comment définissez-vous un » langage de script pleinement qualifié? »
- @TrevorSullivan à sa manière . Ne ‘ t, sil vous plaît, cédez à la haine.
- @Det: Cétait une question légitime – si nous pouvons ‘ t tous sont daccord sur une définition commune et concrète de la phrase, alors autant ne pas en discuter. Je ‘ je suis simplement curieux de savoir ce que lon entend par cette phrase.
- Je ne ‘ Je ne suis pas d’accord que les IDE vont à l’encontre de l’objectif des scripts shell. Vous voudrez peut-être nettoyer vos scripts shell (par exemple, les variables étrangères en ligne, détecter variables inutilisées – cest ce que jessaie ‘ de faire en nettoyant mes scripts System V Init qui deviennent inutilement longs, surtout lorsquils sont dupliqués à partir dexistants exemples).
- Jajouterais aussi cela et lEDI fournit intellisense ou dautres outils, donc je ne ‘ pas besoin de continuer à rechercher sur Google ou à consulter les pages de manuel pour men souvenir des trucs. Cela me permet également de garder tous mes scripts ensemble dans un projet, de parcourir les lignes, dinspecter les arguments entrants, de tester les boucles et les commutateurs, de séparer un tuyau pour linspection, etc.
Réponse
Japprouve également lidée dutiliser un IDE pour les scripts bash.
On peut écrire des scripts bash en utilisant le notebook jupyter.
Le notebook jupyter peut être installé via anaconda tandis quun noyau bash pour jupyter notebook (ou jupyterlab) peut être installé avec les commandes suivantes ( source ):
pip install bash_kernel
et
python -m bash_kernel.install
Après cela, vous pourrez sélectionner bash sur un nouveau lanceur instance du navigateur anaconda, comme indiqué ci-dessous.
La seule chose est que (pour autant que je sache) cela ne fonctionne pas avec les commandes que vous devez entrer dans linvite, telles que read
ou tout autre argument que vous passez après avoir appelé le script. Mais à part cela, cela fonctionne plutôt bien.
Réponse
Jai rencontré ce problème moi-même, cela signifie que jai recherché lIDE de script bash, il y a beaucoup de plugins sur lIDE populaire tout comme eclipse et bien dautres. mais trouver beaucoup de travail traitant des IDE juste pour construire de petits scripts bash. Dautre part, travailler avec des éditeurs provoque beaucoup derreurs de syntaxe et une perte de temps, sans oublier que ce nest pas amusant du tout.
Jai donc trouvé un outil de script bash en ligne pour créer des scripts, il « sappelle http://bashops.net , il » s en ligne, peuvent immédiatement commencer à travailler sur la création de scripts bash, sans être occupé dans aucune installation.
Réponse
Je voudrais suggérer lédition de la communauté PyCharm avec le plugin BashSupport . Cela a dexcellentes fonctionnalités IDE avec intellij intellisense.
Réponse
Rogalmic a écrit des plugins VSCode pour bashdb et zshdb .
Ils sont basés sur mes débogueurs pour bash et zsh , ils gèrent donc un grand nombre des cas extrêmes qui manquent, par exemple, dans le débogueur eclipse pour bash.
Réponse
Essayez ce site. Je recherche également la même chose et je veux pouvoir tester le script en premier et ne pas affecter mon système. Il sagit dun éditeur en ligne pour bash.