Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lancement d'un script

33 réponses
Avatar
Jean-Jacques Gerbaud
Bonjour à tous,

J'ai un script que je dois lancer avec la commande

/home/user/./script.

Je souhaiterais pouvoir le mettre dans un lanceur sur mon bureau ou dans
la barre des tâches.

J'ai bien fait un lanceur mais lorsque je clique sur son icone, c'est le
script qui s'ouvre et pas son contenu !

Une aide de votre part serait très appréciée.

Merci

(Je suis sous LinuxMint Maya) (et elle marche très bien ! :-))
--
JJG

Linux ? Y a moins bien mais c'est plus cher !
http://www.sky.fm/play/classical
http://www.radiosuisseclassique.ch/fr

10 réponses

1 2 3 4
Avatar
Francois Lafont
Bonjour,

Le 25/02/2014 17:26, Jean-Jacques Gerbaud a écrit :

J'ai un script que je dois lancer avec la commande

/home/user/./script.



C'est bizarre ce « . », on est d'accord que tu peux tout
simplement utiliser :

/home/user/script

Sinon, c'est un script dans quel langage ?

Je souhaiterais pouvoir le mettre dans un lanceur sur mon bureau ou dans
la barre des tâches.

J'ai bien fait un lanceur mais lorsque je clique sur son icone, c'est le
script qui s'ouvre et pas son contenu !



Désolé, je n'ai pas compris « c'est le script qui s'ouvre et pas son contenu ».
C'est un éditeur qui s'ouvre affichant le contenu du script ?

Une aide de votre part serait très appréciée.

Merci

(Je suis sous LinuxMint Maya) (et elle marche très bien ! :-))



J'ignore tout de Linux Mint etc. mais j'imagine qu'à un moment
tu as renseigné un champ dans lequel tu as mis :

/home/user/script

Par exemple si ton script est un script bash, essaye peut-être
de mettre :

/bin/bash /home/user/script


--
François Lafont
Avatar
Jean-Jacques Gerbaud
Le 25/02/2014 18:55, Francois Lafont a écrit :
Bonjour,

Le 25/02/2014 17:26, Jean-Jacques Gerbaud a écrit :

J'ai un script que je dois lancer avec la commande

/home/user/./script.



C'est bizarre ce « . », on est d'accord que tu peux tout
simplement utiliser :

/home/user/script

Sinon, c'est un script dans quel langage ?


il est en bash. Et, chez moi, tous les scripts shell se lancent avec le
"." devant tel que je le dis ci-dessus /home/user/./script.

Mais j'ai modifié mon $PATH et mon fichier .bashrc pour que le script se
lance sans le point, tel que tu le dis ci-dessus.

Je souhaiterais pouvoir le mettre dans un lanceur sur mon bureau ou dans
la barre des tâches.

J'ai bien fait un lanceur mais lorsque je clique sur son icone, c'est le
script qui s'ouvre et pas son contenu !



Désolé, je n'ai pas compris « c'est le script qui s'ouvre et pas son contenu ».
C'est un éditeur qui s'ouvre affichant le contenu du script ?


oui !!!

Une aide de votre part serait très appréciée.

Merci

(Je suis sous LinuxMint Maya) (et elle marche très bien ! :-))



J'ignore tout de Linux Mint etc. mais j'imagine qu'à un moment
tu as renseigné un champ dans lequel tu as mis :

/home/user/script


oui, bien sûr, et modifié les droits également pour lecture+écriture par
le propriétaire.

Par exemple si ton script est un script bash, essaye peut-être
de mettre :

/bin/bash /home/user/script



essayé mais le script ne se lance pas

Une autre piste ?
--
JJG

Linux ? Y a moins bien mais c'est plus cher !
http://www.sky.fm/play/classical
http://www.radiosuisseclassique.ch/fr
Avatar
marc
Jean-Jacques Gerbaud wrote:


Une autre piste ?





Le script doit etre executable ...

Moi, j'ai un script pour lancer un video, et ca marche ...


--
--
What's on Shortwave guide: choose an hour, go!
http://shortwave.tk
700+ Radio Stations on SW http://swstations.tk
300+ languages on SW http://radiolanguages.tk
Avatar
Pascal
Le 25/02/2014 19:44, marc a écrit :
Jean-Jacques Gerbaud wrote:


Une autre piste ?





Le script doit etre executable ...

Moi, j'ai un script pour lancer un video, et ca marche ...




Du coup un chmod 755 le script en question devrait faire l'affaire non ?
Avatar
Francois Lafont
Le 25/02/2014 19:24, Jean-Jacques Gerbaud a écrit :

il est en bash. Et, chez moi, tous les scripts shell se lancent avec le
"." devant tel que je le dis ci-dessus /home/user/./script.



Ça par exemple ! Que les scripts se lancent avec un tel chemin, ok mais
que ça ne marche pas avec « /home/user/script » c'est vraiment étrange.
Le script est-il bien exécutable ? Un « ls -l /home/user/script » dans
un terminal pourrait nous éclairer.

Mais j'ai modifié mon $PATH et mon fichier .bashrc pour que le script se
lance sans le point, tel que tu le dis ci-dessus.



Je suis très surpris là aussi. Normalement, le PATH intervient quand
on veut lancer une commande par son nom. Mais avec un chemin absolu
comme ici, normalement le PATH importe peu. Il y a un truc qui m'échappe.

oui, bien sûr, et modifié les droits également pour lecture+écriture par
le propriétaire.



Comme indiqué par Marc et Pascal dans leur message, c'est surtout
les droits en lecture et en exécution pour celui qui sera censé
lancer le script qui comptent.

--
François Lafont
Avatar
Jean-Jacques Gerbaud
Le 25/02/2014 23:26, Francois Lafont a écrit :
Le 25/02/2014 19:24, Jean-Jacques Gerbaud a écrit :



Bonsoir, François, Marc et Pascal :

il est en bash. Et, chez moi, tous les scripts shell se lancent avec le
"." devant tel que je le dis ci-dessus /home/user/./script.



Ça par exemple ! Que les scripts se lancent avec un tel chemin, ok mais
que ça ne marche pas avec « /home/user/script » c'est vraiment étrange.
Le script est-il bien exécutable ? Un « ls -l /home/user/script » dans
un terminal pourrait nous éclairer.


voici le résultat de la commande "ls -l" (dans mon /home/user
-rwxr--r-- 1 elviejo elviejo 6186 févr. 25 13:19 planning

Mais j'ai modifié mon $PATH et mon fichier .bashrc pour que le script se
lance sans le point, tel que tu le dis ci-dessus.



Je suis très surpris là aussi. Normalement, le PATH intervient quand
on veut lancer une commande par son nom. Mais avec un chemin absolu
comme ici, normalement le PATH importe peu. Il y a un truc qui m'échappe.


Je ne sais pas s'il y a matière à surprise ! Mais j'ai toujours lancé
mes scripts avec
la commande
/chemin/./script

oui, bien sûr, et modifié les droits également pour lecture+écriture par
le propriétaire.




Après avoir modifié mon $PATH et mon ~.bashrc
je peux le lancer avec la commande
/chemin/script

Comme indiqué par Marc et Pascal dans leur message, c'est surtout
les droits en lecture et en exécution pour celui qui sera censé
lancer le script qui comptent.



la réponse est donnée ci-dessus : lecture, écriture, exécution et je
suis le propriétaire du fichier "planning"

Une autre piste ?

--
JJG

Linux ? Y a moins bien mais c'est plus cher !
http://www.sky.fm/play/classical
http://www.radiosuisseclassique.ch/fr
Avatar
Jean-Jacques Gerbaud
Le 25/02/2014 23:26, Francois Lafont a écrit :
Le 25/02/2014 19:24, Jean-Jacques Gerbaud a écrit :



Bonsoir, François, Marc et Pascal :

il est en bash. Et, chez moi, tous les scripts shell se lancent avec le
"." devant tel que je le dis ci-dessus /home/user/./script.



Ça par exemple ! Que les scripts se lancent avec un tel chemin, ok mais
que ça ne marche pas avec « /home/user/script » c'est vraiment étrange.
Le script est-il bien exécutable ? Un « ls -l /home/user/script » dans
un terminal pourrait nous éclairer.


voici le résultat de la commande "ls -l" (dans mon /home/user
-rwxr--r-- 1 elviejo elviejo 6186 févr. 25 13:19 planning

Mais j'ai modifié mon $PATH et mon fichier .bashrc pour que le script se
lance sans le point, tel que tu le dis ci-dessus.



Je suis très surpris là aussi. Normalement, le PATH intervient quand
on veut lancer une commande par son nom. Mais avec un chemin absolu
comme ici, normalement le PATH importe peu. Il y a un truc qui m'échappe.


Je ne sais pas s'il y a matière à surprise ! Mais j'ai toujours lancé
mes scripts avec
la commande
/chemin/./script

oui, bien sûr, et modifié les droits également pour lecture+écriture par
le propriétaire.




Après avoir modifié mon $PATH et mon ~.bashrc
je peux le lancer avec la commande
/chemin/script

Comme indiqué par Marc et Pascal dans leur message, c'est surtout
les droits en lecture et en exécution pour celui qui sera censé
lancer le script qui comptent.



la réponse est donnée ci-dessus : lecture, écriture, exécution et je
suis le propriétaire du fichier "planning"

Une autre piste ?

--
JJG

Linux ? Y a moins bien mais c'est plus cher !
http://www.sky.fm/play/classical
http://www.radiosuisseclassique.ch/fr
Avatar
Olivier Miakinen
Bonjour,

Le 26/02/2014 01:15, Jean-Jacques Gerbaud répondait à François Lafont :

il est en bash. Et, chez moi, tous les scripts shell se lancent avec le
"." devant tel que je le dis ci-dessus /home/user/./script.



Ça par exemple ! Que les scripts se lancent avec un tel chemin, ok mais
que ça ne marche pas avec « /home/user/script » c'est vraiment étrange.





;-)

Personnellement, je trouverais encore plus étrange que ça
fonctionne avec /home/user/script tout en ne fonctionnant pas
avec /home/user/./script !

Le script est-il bien exécutable ? Un « ls -l /home/user/script » dans
un terminal pourrait nous éclairer.


voici le résultat de la commande "ls -l" (dans mon /home/user
-rwxr--r-- 1 elviejo elviejo 6186 févr. 25 13:19 planning



Ok, je suppose que ton lanceur appartient lui aussi à elviejo ?
Sinon il faudrait faire un « chmod a+x planning » pour que les autres
utilisateurs puissent lancer ce script.

Plus important encore, quelle est la première ligne de ton script ?
Est-ce bien la ligne suivante :
#!/bin/bash
... ?

Cordialement,
--
Olivier Miakinen
Avatar
Francois Lafont
Le 26/02/2014 01:15, Jean-Jacques Gerbaud a écrit :

voici le résultat de la commande "ls -l" (dans mon /home/user
-rwxr--r-- 1 elviejo elviejo 6186 févr. 25 13:19 planning



Ça semble bon. On est d'accord que le fichier "planning" se
trouve bien à la racine du répertoire « /home/elviejo » ?

Je ne sais pas s'il y a matière à surprise ! Mais j'ai toujours lancé
mes scripts avec
la commande
/chemin/./script



C'est pas incorrect comme manière d'appeler un script, c'est même en
principe équivalent à « /chemin/script ». Ce qui est curieux du coup
c'est que « /chemin/script » ne fonctionne pas si j'ai bien compris ce que
tu as dit, sauf si tu bidouilles ton PATH. Là, franchement, il y a un
loup... et peut-être que c'est lié à ton problème. Dans un terminal, ça
raconte quoi si tu n'as pas modifié ton PATH et si tu fais toutes ces
commandes :

echo "$PATH"
ls -l /home/elviejo/planning
/home/elviejo/planning

(faire un copié-collé du terminal avec les commandes et le prompt inclus)

Après avoir modifié mon $PATH et mon ~.bashrc
je peux le lancer avec la commande
/chemin/script



Quelles modifs exactement au niveau du PATH et du ~/.bashrc ?

Une autre piste ?



Pour moi, ton histoire d'appel via le chemin absolu qui ne marche
pas sauf en modifiant le PATH est étrange et est peut-être une
piste, mais sans certitude bien sûr. En tout cas, c'est déjà un
problème en soit.

--
François Lafont
Avatar
Francois Lafont
Le 26/02/2014 01:33, Olivier Miakinen a écrit :

Ça par exemple ! Que les scripts se lancent avec un tel chemin, ok mais
que ça ne marche pas avec « /home/user/script » c'est vraiment étrange.





;-)

Personnellement, je trouverais encore plus étrange que ça
fonctionne avec /home/user/script tout en ne fonctionnant pas
avec /home/user/./script !



Pour moi, c'est ni plus ni moins étrange dans le sens où les
deux devraient se comporter identiquement (marcher tous les 2 ou
bien pas marcher tous les 2). Mais bon, on ne va pas jouer sur
les mots. :-)

Pour moi, point or not point, c'est le même fichier :

01:39 ~
$ ls -i /home/francois/missfont.log
57149207 /home/francois/missfont.log
01:39 ~
$ ls -i /home/francois/./missfont.log
57149207 /home/francois/./missfont.log
01:39 ~
$ ls -i /home/francois/././missfont.log
57149207 /home/francois/././missfont.log
01:39 ~
$ ls -i /home/francois/./././missfont.log
57149207 /home/francois/./././missfont.log

Dans tous les cas, c'est le même fichier.

Ah, il me vient idée. Peut-être que le fichier s'exécute
effectivement dans les 2 cas mais peut-être que dans un des cas
il ne fait rien et Jean-Jacques pense qu'il ne s'exécute
pas alors que si.

Par exemple, le script bash peut éventuellement dépendre de la
façon dont il est appelé en faisant des traitements au niveau
de la variable "$0" qui le rendrait dépendant du chemin utilisé.
Peut-être que ce script est dépendant aussi du PATH etc.

--
François Lafont
1 2 3 4