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 24/06/2012, à 11:46

roger64

(abandonné) Conclusion d'un script bash

Bonjour

Le script est le suivant: cela se passe bien jusqu'à gnome-terminal qui s'ouvre bien sur le bureau. Mais après, il faut que je rentre les commandes à la main (à partir de cd)  alors que je voudrais qu'elles s'exécutent dans le terminal.

#! /bin/bash

title=$(zenity --entry --title "Titre EPUB" --text "Nom seul(sans suffixe)" --entry-text=TITLE)
echo "title=$title"

cp -a "${title}".epub "${title}".zip

unzip "${title}".zip

echo "dézippé"
zenity --info --text "dézippé"

gnome-terminal

cd ~/Bureau/OEBPS/Text/

pcregrep -o -h 'class=".+?"' * >fic_tmp.$$
for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr

Dernière modification par roger64 (Le 26/06/2012, à 11:56)

Hors ligne

#2 Le 24/06/2012, à 11:54

cracolinux

Re : (abandonné) Conclusion d'un script bash

gnome-terminal -e ' cd ~/Bureau/OEBPS/Text/ ; pcregrep -o -h 'class=".+?"' * >fic_tmp.$$ ; for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr '

?


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#3 Le 24/06/2012, à 13:03

roger64

Re : (abandonné) Conclusion d'un script bash

@cracolinux

mini_193768Capturedu20120624130045.png

Si je passe toute ta commande isolément dans un terminal, ça va. Mais dans le cadre du script, non, j'obtiens la réponse ci-dessus. C'est pareil que je garde ou que j'enlève les guillemet simples.

Hors ligne

#4 Le 24/06/2012, à 13:52

cracolinux

Re : (abandonné) Conclusion d'un script bash

gnome-terminal -e 'bash -c  "cd ~/Bureau/OEBPS/Text/ ; pcregrep -o -h 'class=".+?"' * >fic_tmp.$$ ; for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr "'

?


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#5 Le 24/06/2012, à 15:19

roger64

Re : (abandonné) Conclusion d'un script bash

Plus rien du tout même quand l'enlève les guillemets simples et doubles.

Hors ligne

#6 Le 24/06/2012, à 16:14

ljere

Re : (abandonné) Conclusion d'un script bash

pourquoi ne pas remplacer par

sh -c """cd ~/Bureau/OEBPS/Text/; pcregrep -o -h 'class=".+?"' * >fic_tmp.$$ ; for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr;"""

ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#7 Le 24/06/2012, à 16:33

roger64

Re : (abandonné) Conclusion d'un script bash

ljere a écrit :

pourquoi ne pas remplacer par

sh -c """cd ~/Bureau/OEBPS/Text/; pcregrep -o -h 'class=".+?"' * >fic_tmp.$$ ; for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr;"""

Le nombre de guillements a augmenté mais ça ne marche pas. Si vous voulez télecharger un EPUB pour faire l'essai:
http://dl.dropbox.com/u/31141350/Histoi … A2nes.epub
C'est un juste un fichier zip en fait avec un suffixe  différent.

Hors ligne

#8 Le 24/06/2012, à 19:43

nesthib

Re : (abandonné) Conclusion d'un script bash

Ce que tu essaies de faire roger64 est un peu en même temps à l'encontre de la philosophie CLI et GUI…

Soit tu veux faire quelque chose avec une interface graphique et tu fais en sorte de récupérer l'entrée utilisateur en graphique et d'afficher le retour en graphique (par exemple avec zenity), soit tu fais un logiciel en CLI et  c'est l'utilisateur qui lancera lui même ton script dans le terminal de son choix (imagine que quelqu'un n'ait pas ou n'aime pas gnome-terminal). Mais lancer un terminal depuis un script shell ne me paraît ni la solution la plus simple, ni la plus pratique.

Si tu veux créer une application CLI pour quelqu'un ne sachant pas trop utiliser un terminal, tu peux créer un lanceur vers ton script en ajoutant l'option « lancer dans un terminal »


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

#9 Le 25/06/2012, à 07:06

roger64

Re : (abandonné) Conclusion d'un script bash

@nesthib

Merci de tes explications. Tu as raison mais, ceci dit, que faire? Je ne sais pas comment afficher le résultat ici bas en graphique, par exemple avec zenity. J'aimerais bien, ce serait plus "classe" (c'est le mot juste).

La commande me sert à vérifier un EPUB. Elle comptabilise les styles utilisés (ayant une classe) dans un EPUB. Mais pour y arriver c'est fastidieux et ça décourage de l'utiliser: il faut que je copie l'EPUB et que je le rebaptise l'EPUB en zip, que je l'ouvre, puis que je lance la commande. Le terminal affiche alors une liste du genre:

roger@lmde64 ~/Bureau/OEBPS/Text $ pcregrep -o -h 'class=".+?"' * >fic_tmp.$$
roger@lmde64 ~/Bureau/OEBPS/Text $ for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr
class="example" 208
class="listheading" 164
sigilNotInTOC" 162
class="sigilNotInTOC" 160
class="tiptext" 123
class="tipheader" 98
class="tip" 97
class="image" 85
class="menuitem" 74
class="h2subheading" 23
class="button" 23
class="first" 22
class="indent" 16
class="toolbar" 15
class="reference 15
class="reference 15
external" 13
class="shortcut" 9
class="simple" 8
class="heading 8
class="heading" 6
class="h1subheading" 5
class="dropcap" 3
internal" 2
class="version" 1
class="title" 1
class="superscript" 1
class="subscript" 1
class="rights" 1
class="logo" 1
class="coverimage" 1
class="boldtext" 1
class="author" 1
roger@lmde64 ~/Bureau/OEBPS/Text $

J'ai aussi prévu d' ajouter une commande pour détruire les fichiers créés par la décompression.

Hors ligne

#10 Le 26/06/2012, à 08:00

roger64

Re : (abandonné) Conclusion d'un script bash

J'ai déplacé la question sur le forum Programmation en la reformulant. Merci de votre aide.

Dernière modification par roger64 (Le 26/06/2012, à 11:56)

Hors ligne