> Tous les forums > Forum Linux
 script bash - instruction "echo" sans effetSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Mimile
  Posté le 23/12/2010 @ 10:20 
Aller en bas de la page 
Astucien

Bonjour,

J'utilise un script bash (imageshack-up.sh) qui permet d'uploader des images sur le site d'hébergement imageshack.us.

Lorsque le transfert est achevé, l'URL de l'image (et de son thumbnail) sont récupérés et affichés en console avec la commande echo incluse dans le script.

Sous KDE, j'ai créé un raccourci que j'ai appelé "imageshack" qui rend les choses simples : un clic droit sur l'image > ouvrir avec > imageshack.

Aussitôt une console s'ouvre et affiche la progression du transfert de l'image (avec CURL) ; quelques secondes plus tard, les URL s'affichent (voir ici - il s'agit capture d'écran déjà ancienne qui ne montre pas encore le thumbnail).

Sous GNOME, ce système fonctionne pas : le script s'exécute effectivement mais la commande echo n'ouvre pas de console de sorte que les URL ne s'affichent pas.

En revanche, si j'ouvre moi-même une console et que je tape : upload image.jpg tout va bien :

D'où ma question : pourquoi la commande echo ouvre-t'elle spontanément une console sous KDE et pas sous Gnome ?

Y-a-t'il un moyen de remédier à cela ?

Merci d'avance.

Amicalement,

Publicité
IceF0x
 Posté le 23/12/2010 à 12:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

mon script posté dans un autre post ne convient pas ?

Mimile
 Posté le 23/12/2010 à 17:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

J'avais examiné les liens que tu donnais et pour lesquels je te remercie, mais :

a) en ce qui concerne Imageshack Uploader, je n'arrive pas à l'installer sur ma Mint 7 car il me faudrait une version plus récente de libavcodec52 (je n'ai que la version 3 et il faut une version supérieure à 4.

b) en ce qui concerne le script Nautilus (UpLoadFiles), parmi les requis il y a un script perl (rsapi.pl) qu'on peut en principe télécharger sur http://images.rapidshare.com/software/rsapi.pl mais qui renvoie une erreur 404.

De toute façon, je crois que ce script n'a d'intérêt que si on veut uploader sur rapidshare ce qui n'est pas mon cas.

J'ai ajouté le script à la liste "ouvrir avec" et quand je clique sur une image à uploader, j'obtiens d'abord ceci :

Je valide, puis j'obtiens ceci :

Je valide et puis ... plus rien !!!

Note que c'est normal puisque la réponse devrait apparaître en console (avec echo qui, chez moi, ne donne rien).

Ce qui est encore pire, c'est que même si je lance UpLoadFiles en console, je n'obtiens aucun résultat !!!

A n'y rien comprendre .... sauf à conclure que Gnome est moins élaboré que KDE ...

Amicalement,




Modifié par Mimile le 23/12/2010 22:34
IceF0x
 Posté le 23/12/2010 à 19:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

logiquement la réponse apparait dans un popup

Mimile
 Posté le 23/12/2010 à 22:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Désolé mais ça ne marche pas ...

l'instruction "echo" dans un script "bash" ne fonctionne pas, ou, en en tous cas, ne déclenche pas l'ouverture d'une console.

Ceci explique pourquoi j'ai posté ce sujet ...

IceF0x
 Posté le 24/12/2010 à 12:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

normal il faut lui spécifier d'ouvrir le terminal

par défaut sh utilise dash et pas bash je pense

donc il faut lui préciser de le lancer dans une console

Mimile
 Posté le 25/12/2010 à 12:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Coment fait-on ?

Mon script sous KDE ouvre automatiquement la console.

Quand je lance UpLoadFiles manuellement en console, je finis par avoir ceci :

Le problème, c'est que les URL ne sont pas affichées ...

Mais auparavant, voici le message d'ereur) qui apparaît :

okapi@LinuxMint7:~/Images$ UploadFiles Capture-63.png
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve property `GtkTreeView::odd-row-color' of type `GdkColor' from rc file value "((GString*) 0x9c22f00)" of type `GString'

Mais j'ignore ce que cela implique.

P.S. Joyeux Noël à tous !!!



Modifié par Mimile le 25/12/2010 12:26
Mimile
 Posté le 25/12/2010 à 17:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Finalement, j'ai trouvé une solution en intégrant des lignes de commande Zenity dans un script semblable à celui que j'utilise habituellement mais qui fonctionne différemment, en ce sens qu'en fait, on lance le script (avec un lanceur sur le bureau) ; dans un premier temps, il vérifie la connexion internet en faisant 3 pings sur google.com puis, avec zenity, il ouvre le dossier contenant les images (préalablement indiqué dans le script (cd ~/images).

Un clic sur l'image voulue et l'upload démarre ; à la fin de l'upload, on voit ceci :

Seul inconvénient, je n'arrive pas à afficher une barre affichant la progression du téléchargement ce qui fait que, pendant ce temps, il ne se passe rien à l'écran (pour les images d'un certain poids, c'est ennuyeux car on se demande où on est et si le transfert se fait effectivement ; bon, on peut toujours jeter un coup d'oeil aux diodes du modem, mais bon ... ).

Zenity comporte pourtant des options comme --progress --pulsate et --auto-close qui fonctionnent bien au stade de la vérification de la connexion internet car cette opération prend quelques secondes pendant lesquelles on voit effectivement une barre de progression faire des allers-retours (--pulsate).

Voici la ligne :

ping google.com -c 3 | zenity --progress --text="Test de la connexion internet en cours..." --pulsate --auto-close

Dans un premier temps, j'ai pensé qu'il suffisait d'ajouter cette ligne derrière la commande curl pour avoir un résultat semblable.

curl -H Expect: -F fileupload="@${img}" -F xml=yes http://www.imageshack.us/index.php > $TMPFILE | zenity --progress --text="Test de la connexion internet en cours..." --pulsate --auto-close

Hélas, ça ne va pas : la boîte s'affiche puis ferme aussitôt.

La raison en est qu'à mon avis, à la différence de ping qui s'exécute trois fois de suite et qui laisse ainsi un peu de temps à zenity pour produire son petit effet, curl ne s'exécute en fait qu'une fois de sorte que zenity, sans tenir compte de la durée du transfert, considère que l'action de curl est terminée et l'auto-close s'exécute. Si on retire l'option auto-close, la barre de progression fait ses allers-retours sans fin et il faut cliquer sur "annuler" pour que le script continue de de s'exécuter.

Si quelqu'un avait une idée pour contourner ce problème, je serais preneur.

Joyeux Noël à tous

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
99,99 €SSD externe portable Samsung T7 500 Go à 99,99 €
Valable jusqu'au 26 Janvier

Amazon fait une promotion sur le SSD externe portable Samsung T7 500 Go qui passe à 99,99 € livré gratuitement alors qu'on trouve le SSD à partir de 120 € ailleurs. 

Son format compact vous permettra de le transporter facilement avec vous. De quoi stocker parfaitement vos fichiers et de les emporter dans vos déplacements en toute sérénité. Grâce à la technologie PCIe NVMe intégrée et au connecteur USB 3.1 Type C, bénéficiez de vitesses supérieures pouvant atteindre 1050 Mo /s ! Compatible PC, Mac et Android, il se montrera rapidement indispensable. Le disque Samsung T7 se pare d'un boîtier robuste en aluminium qui résistera aux chutes. Il embarque également un cryptage avancé avec mot de passe.


> Voir l'offre
119,99 €Ecran 23,8 pouces Acer QG241 (1920x1080, 1ms, FreeSync) à 119,99 €
Valable jusqu'au 26 Janvier

Darty fait une promotion sur l'écran 23,8 pouces Acer QG241 qui passe à 119,99 € alors qu'on le trouve ailleurs à partir de 140 €. Cet écran dédié aux joueurs dispose d'une dalle VA Full HD de 1920x1080 pixels. Grâce à sa compatibilité Freesync (75 Hz) et son temps de réponse rapide de 1 ms, ce moniteur Acer offre une excellente fluidité d'affichage. Interfaces : HDMI, VGA, Sortie de ligne audio.


> Voir l'offre
38,90 €Lego Technic 42107 Ducati Panigale V4 R à 38,90 €
Valable jusqu'au 25 Janvier

Amazon fait une superbe promotion sur le Lego Technic 42107 Ducati Panigale V4 R qui passe à 38,90 € livrée gratuitement. On la trouve ailleurs à 59,90 €. Une représentation de la célèbre Ducati Panigale V4 R à construire, explorer et exposer. Les fans de LEGO Technic et les amateurs de motos vont adorer ce superbe défi de construction.


> Voir l'offre

Sujets relatifs
commande introuvable et script bash
aide sur script bash
Script Bash et commandes Mysql
Script bash pour lancer/arrêter un logiciel
Probleme script bash !! redirection fichier..
Insertion de la commande mawk dans script bash
Resolu - Renommer fichiers avec un script bash
Insérer un script bash dans code html
Besoin script bash , pas besoin d'un pro ^^
Script bash !
Plus de sujets relatifs à script bash - instruction "echo" sans effet
 > Tous les forums > Forum Linux