Lancer un script shell

tom45 -  
mamiemando Messages postés 34184 Statut Modérateur -
Bonjour

J'ai fait un
script .sh 
. Il est bien exécutable
chmod +X
(droit
640
) J'ai copié le script sur mon bureau gnome sous centos 7, et j'aimerais bien le lancer directement avec un double clic comme si je lançais une application. Je n'arrive pas à trouver de méthode autre qu'avec le terminal.

Pouvez-vous m'aider ?
A voir également:

3 réponses

jee pee Messages postés 42389 Statut Modérateur 9 743
 
Bonjour,

Dans les droits, execution c'est +1
donc il devrait être 7xx s'il t'appartient

peut être chmod script.sh +x

0
tom45
 
je viens d'essayer en 777 et j'avais déja le + X mais pareil quand je clic sur le script.sh il me l'ouvre avec un éditeur de fichier
0
tom45
 
non j'ai tout essayé en user en root je n'arrives toujours pas j'ai vu aussi l'option sur le fichier qui permet de lancer automatiquement mais rien ne fonctionne

une idée ?
0
Semper
 
https://ubuntuplace.info/questions/320228/how-to-launch-shell-script-with-double-click-in-centos-7
0
mamiemando Messages postés 34184 Statut Modérateur 7 888
 
Bonjour,

Plusieurs choses :
  • la commande n'est pas
    chmod +X script.sh
    mais
    chmod a+x script.sh
    . Les droits ne sont pas 640 mais 755 (donc tu pourrais écrire
    chmod 755 script.sh
    )
  • si tu mets des droits de type
    750
    alors il faut être soit propriétaire soit dans le groupe propriétaire du fichier. Ce qui signifie que si ce fichier appartient à
    root
    et que tu es identifié en
    toto
    tu ne pourras pas exécuter ce script.


Bref, il faudrait commencer par nous reporter le résultat de
ls -l script.sh
et
whoami
. Ensuite il faudrait préciser ce que tu entends par "j'arrive à le lancer dans un terminal" : si tu le lances via
/home/toto/script.sh
ou
./script.sh
, oui tu as les droits en exécution car
script.sh
est exécuté. Si tu lances
sh /home/toto/script.sh
ou
sh ./script.sh
, tu exécutes
sh
qui lit
script.sh
et seuls les droits en lecture sont utilisés (et donc rien ne garantit que tu as les droits en exécution).

Il ne faut pas "par désespoir" mettre un fichier en 777. C'est donner l'opportunité à n'importe qui d'y injecter du code malveillant. De manière générale, il ne faut pas relâcher les droits sur un fichier sauf si on sait ce qu'on fait (e.g. partager un fichier ou dossier à d'autres utilisateur). Les seuls cas légitimes de changement de droits sont une pour corriger une erreur (fichier attribué à tort à un groupe / utilisateur).

Ensuite et pour finir, il faut garder à l'esprit qu'exécuter un script dans un terminal, l'exécute mais n'ouvre pas un terminal dans lequel il va écrire ses résultats. Pour cela, il faudrait créer un raccourci vers ce fichier et indiquer que le script doit être exécuté dans un terminal (voir e.g. le lien de Semper).

Bonne chance
0