#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
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
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é
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