#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
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 !
#5 Le 29/01/2010, à 04:00
- frafa
Re : Récupérer nom du fichier script bash
Bonjour,
echo "$(basename "$0")"
mais bon tu peux quand même lire la doc
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
Ce qui donne :
#!/bin/bash
xterm -e "echo $(basename "$1"); sleep 5"
Merci à vous 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 : 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
#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 →
(no nastiness inside)
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
#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
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
@Nolhian : http://[Merci de relire les règles]/ygwfxuj
:lol::lol::lol::lol:
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
#12 Le 30/01/2010, à 14:11
- Nolhian
Re : Récupérer nom du fichier script bash
@nesthib : Effectivement ça marche aussi bien
@sputnick : http://[Merci de relire les règles]/yag6bzj 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