Lancer un script shell

Fermé
tom45 - Modifié le 8 mars 2021 à 14:49
mamiemando Messages postés 33600 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 24 mars 2025 - 8 mars 2021 à 14:59
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 40964 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 mars 2025 9 570
Modifié le 19 févr. 2021 à 15:43
Bonjour,

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

peut être chmod script.sh +x

0
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
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
https://ubuntuplace.info/questions/320228/how-to-launch-shell-script-with-double-click-in-centos-7
0
mamiemando Messages postés 33600 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 24 mars 2025 7 835
8 mars 2021 à 14:59
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