Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/02/2013, à 22:55

Arbiel

Quels outils pour écrire une application en bash

Bonjour

J'écris des scripts bash et j'ai le sentiment qu'il existe des outils mieux adaptés que gedit pour écrire et modifier mes fichiers. Je cherche un outil qui me permettrait de bénéficier de fonctions telles que :

  • vérifier l'exactitude syntaxique du code

  • atteindre une procédure à partir d'un menu déroulant de toutes les procédures d'un fichier, ou même d'un ensemble de fichiers

  • mettre en évidence les modifications non encore enregistrées

  • tester une procédure sans retourner à un terminal

Merci d'avance.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#2 Le 12/02/2013, à 23:04

Maisondouf

Re : Quels outils pour écrire une application en bash

Essayes "geany", il est dans les dépôts et installable en une commande

sudo apt-get install geany

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#3 Le 13/02/2013, à 09:38

Arbiel

Re : Quels outils pour écrire une application en bash

Bonjour

Merci pour cette information. Je viens de charger geany, et il me semble qu'il répond mieux à mes besoins que gedit.

Encore merci

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#4 Le 13/02/2013, à 10:09

Haleth

Re : Quels outils pour écrire une application en bash

Pour debug, au lieu de faire des echo:

bash -x machin.sh

C'est HS, m'enfin c'est tellement pratique ..


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#5 Le 13/02/2013, à 14:07

Arbiel

Re : Quels outils pour écrire une application en bash

Bonjour

@Haleth

Pourrais-tu être plus clair s'il te plaît ?


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#6 Le 13/02/2013, à 14:10

Haleth

Re : Quels outils pour écrire une application en bash

2% [jack:/tmp]cat test.sh 
path=$(pwd)
if [ "$path" -eq "50" ]
then
	true
fi

2% [jack:/tmp]bash test.sh
test.sh: ligne 2 : [: /tmp : nombre entier attendu comme expression

3% [jack:/tmp]bash -x test.sh
++ pwd
+ path=/tmp
+ '[' /tmp -eq 50 ']'
test.sh: ligne 2 : [: /tmp : nombre entier attendu comme expression

Ca te montre qui fait quoi.

Dernière modification par Haleth (Le 13/02/2013, à 14:10)


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#7 Le 13/02/2013, à 15:26

Arbiel

Re : Quels outils pour écrire une application en bash

J'avais bien compris l'intérêt de -x, mais c'est ton commentaire

Haleth a écrit :

C'est HS

que je ne comprends pas.

Je dois avouer que moi non plus, je n'ai pas été très clair dans ma précédente formulation.

Je constate aussi que je me suis lancé dans l'écriture d'une application en scripts bash (j'en suis à environ 1000 lignes de code) en utilisant gedit et sans utiliser l'option -x de bash, et avec comme seul support le document de définition des spécifications de bash.

Soit je n'ai pas bien cherché avant de me lancer, soit notre documentation manque de supports. A mes yeux, il y a là matière à réfléchir sur ce qu'il faut faire pour améliorer la situation et rendre plus facile l'apprentissage du bash.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#8 Le 13/02/2013, à 16:01

Squashfs

Re : Quels outils pour écrire une application en bash

Salut !

Que pense-tu d'écrire en Python ?

Hors ligne

#9 Le 14/02/2013, à 00:11

Arbiel

Re : Quels outils pour écrire une application en bash

Bonsoir

Ecrire en Python : je pense que je n'en connais pas le moindre mot et que j'ai déjà eu bien du mal à arriver là où j'en suis pour ne pas avoir envie de recommencer à zéro.

Exemple : avec la trace obtenu par -x j'ai vu que j'avais mal programmé les tests d'existence de fichiers (tests unitaires) que j'avais écrit sous la forme

 [ -e fichier ] 

au lieu de

 [[ -e fichier ]] 

J'ai mis la grande partie de la journée à écrire le script sed ci-dessous pour réparer toutes ces erreurs

:debut /.*[^[]\[ *-.*[^]]\][^]]\|$/ s/ \[ / \[\[ /m
/.*[^]] \] / s/ \] / \]\] /m
t debut
/.*[^]] \]\;/ s/ \]\;/ \]\]\;/m
t debut
/.*[^]] \]$/ s/ \]$/ \]\]/m
t debut

7 lignes de code en 1 journée, à cette vitesse, réapprendre un nouveau langage, j'en ai pour le restant de mes jours !!

Arbiel

Dernière modification par Arbiel (Le 14/02/2013, à 00:15)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#10 Le 14/02/2013, à 01:41

nesthib

Re : Quels outils pour écrire une application en bash

Même si j'adore sed, ça n'est pas le meilleur outil pour corriger un code. Il est préférable d'utiliser un mode interactif pour être sûr de ce qu'on remplace.
Typiquement corriger/retravailler le code est le boulot de ton éditeur de texte (ou de ton environnement de programmation).

Par exemple avec vim (en mode commande) tu pourrais faire :

:%s/[\[\]]/&&/gc

ce qui revient à :
pour chaque (g) « [ » ou « ] » trouvé ([\[\]]) sur chaque ligne (%), remplacer (s/…/…/) le caractère trouvé par son double (&&) en demandant confirmation à chaque occurrence (c).


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#11 Le 14/02/2013, à 02:25

Maisondouf

Re : Quels outils pour écrire une application en bash

On se croirait sous Etch, non que dis-je Woody lol
Même Gedit sait le faire alors Geany c'est obligé.


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#12 Le 14/02/2013, à 09:40

Arbiel

Re : Quels outils pour écrire une application en bash

Quand je disais que je n'avais pas les outils adéquats !! Je sais que j'ai été ridicule en me lançant dans une telle opération. Merci de l'avoir souligné lol

J'ai bien vu que sed n'était pas l'idéal pour faire ce que je voulais, d'autant que l'incompréhensible script que j'ai rédigé ne fonctionne pas et qu'au total j'ai du inspecter à la main toutes les lignes contenant des "[".

Avec geany cette recherche a été bien plus efficace (je n'ai pas mis plus d'une dizaine de minutes) qu'avec gedit , qui, si je ne m'abuse, n'aurait pas su trouver toutes les occurrences dans la même séquence de recherche ; mais, je le reconnais, avec gedit, au pire, il m'aurait fallu un 1/4h.

Cela dit, se plonger dans la documentation pour trouver l'outil avec la commande qui convient n'est pas non plus un travail de quelques minutes seulement.

Cette petite expérience m'amène à vous demander, en partant de votre propre expérience et de la manière dont vous avez appris l'existence des outils que vous utilisez, ce qu'il est envisageable de faire pour faciliter l'apprentissage des néophytes autodidactes.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#13 Le 14/02/2013, à 10:54

Braun

Re : Quels outils pour écrire une application en bash

Bonjour,
En ce qui concerne mon expérience j'utilise beaucoup le boulot de singe, quand je trouve un petit programme qui m'intéresse je le recopie dans un éditeur ad hoc comme Emacs ou Geany et je le tripatouille pour en tirer la substantifique moelle.
Avec les différents fora qui existent sur le net j'arrive en général à comprendre.

Hors ligne