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 29/01/2010, à 02:28

Nolhian

Récupérer nom du fichier script bash

Bonjour ,

Tout d'abord je viens tout juste de découvrir le bash, je voudrais faire un script qui fasse un echo du nom d'un fichier avec lequel je lance le script. Je m'explique, je voudrais qu'en faisant un clic droit sur par exemple fichier.txt, en selectionnant "ouvrir avec" mon script, que ça lance un gnome-terminal avec marqué fichier.txt dedans.

Alors j'ai fait 2 scripts :

Script1

#!/bin/bash
gnome-terminal -e "/home/monhome/Script2"

Script2

#!/bin/bash
echo "bonjour"
sleep 5

Cela marche parfaitement, m'affiche bonjour dans un terminal qui se ferme au bout de 5s.
Mais voilà, comment remplacer bonjour par le nom du fichier avec lequel j'ai lancé le script (en l'occurrence fichier.txt) ?

Merci d'avance wink

Dernière modification par Nolhian (Le 29/01/2010, à 02:30)

Hors ligne

#2 Le 29/01/2010, à 02:32

sputnick

Re : Récupérer nom du fichier script bash

echo $0


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#3 Le 29/01/2010, à 02:40

Nolhian

Re : Récupérer nom du fichier script bash

Merci de la réponse, je viens de tester mais malheureusement ça m'affiche /home/monhome/Script2

Dernière modification par Nolhian (Le 29/01/2010, à 02:44)

Hors ligne

#4 Le 29/01/2010, à 03:17

compte supprimé

Re : Récupérer nom du fichier script bash

Regarde là-dedans : http://abs.traduc.org/abs-fr/
Tu devrais trouver ton bonheur... et même plus ! wink

#5 Le 29/01/2010, à 04:00

frafa

Hors ligne

#6 Le 30/01/2010, à 00:19

Nolhian

Re : Récupérer nom du fichier script bash

@faustus : merci pour le lien !

J'ai fait au final un seul script au lieu de 2, ce qui a donné :

#!/bin/bash
xterm -e "echo $1; sleep 5"

Cela me renvoyait le chemin complet du fichier associé au script, et effectivement frafa avec basename ca me renvoie bien juste le nom du fichier cool

Ce qui donne :

#!/bin/bash
xterm -e "echo $(basename "$1"); sleep 5"

Merci à vous wink Une petite question subsidiaire juste pour ma culture, j'ai utilisé xterm parceque je n'ai pas réussi à passer plusieurs arguments avec gnome-terminal -e ( en utilisant la meme synthaxe que pour xterm -e ), il n'execute que le premier et ferme la fenetre direct sans passer par le sleep 5.  Y-a-t-il un moyen de passer plusieurs commandes à gnome-terminal?

Dernière modification par Nolhian (Le 30/01/2010, à 00:19)

Hors ligne

#7 Le 30/01/2010, à 01:29

nesthib

Re : Récupérer nom du fichier script bash

arghh pourquoi utiliser un sous-shell $(…) et un process supplémentaire (basename) alors que bash fait ça très bien tout seul…

echo ${0##*/}

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

#8 Le 30/01/2010, à 01:51

frafa

Re : Récupérer nom du fichier script bash

arghh pourquoi le dire comme cela,
je parle aussi de language, mais pas du même...

Hors ligne

#9 Le 30/01/2010, à 02:05

nesthib

Re : Récupérer nom du fichier script bash

désolé j'ai oublié un élément de syntaxe important → wink
(no nastiness inside)


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

#10 Le 30/01/2010, à 09:00

sputnick

Re : Récupérer nom du fichier script bash

@Nolhian : http://[Merci de relire les règles]/ygwfxuj big_smile


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#11 Le 30/01/2010, à 12:35

nesthib

Re : Récupérer nom du fichier script bash

sputnick a écrit :

@Nolhian : http://[Merci de relire les règles]/ygwfxuj big_smile

lol:lol::lol::lol::lol:


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

#12 Le 30/01/2010, à 14:11

Nolhian

Re : Récupérer nom du fichier script bash

@nesthib : Effectivement ça marche aussi bien wink

@sputnick : http://[Merci de relire les règles]/yag6bzj big_smile Déjà fait, mais rien trouvé ni dans le man gnome-terminal sur plusieurs commandes ni dans la doc en ligne ( qui d'ailleurs ne parle meme pas des commandes ). C'est pour ça que je demande si c'est possible ou non.

Dernière modification par Nolhian (Le 30/01/2010, à 14:15)

Hors ligne