Fichier texte exécutable

Résolu/Fermé
jojomisterjo Messages postés 592 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 13 août 2013 - 18 févr. 2010 à 00:04
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 18 févr. 2010 à 16:35
Bonsoir la communauté,

Voici une question qui m'embête : lorsque je rend un fichier texte exécutable (sous Ubuntu), il me demande une confirmation pour l'exécution du script (les choix sont : Lancer dans un terminal - Afficher - Annuler - Lancer).

Je doit donc cliquer sur "Lancer dans un terminal" pour faire tourner le script.
Comment passer cette demande d'exécution afin que le fichier texte exécutable se lance dès le clic ?

Merci
A voir également:

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
18 févr. 2010 à 16:35
Il suffit de double cliquer dessus et que le fichier ait des droits en exécution.

chmod a+x /le/chemin/vers/le/fichier


Si tu lances ton script tel quel, les éventuels messages qui auraient été affichés dans la console ne sont affichés nul part, mais le script est bien lancé. Pour t'en convaincre tu peux très bien écrire un script pouet.sh qui fait un truc du genre :

#!/bin/sh
echo `date` > ~/pouet.txt


Lance ce script depuis ton explorateur de fichier et tu verras que le fichier pouet.txt a bien été créé dans ton home directory.

Si tu veux absolument qu'un script a.sh soit lancé dans un terminal, il faut écrire un fichier go.sh qui lance un terminal (par exemple un xterm) et qui appelle pouet.sh dans ce terminal (en admettant que ce soit possible).

En fait, c'est une mauvaise idée car tu ne peux pas garantir que ton script s'exécutera bien sur toutes les machines. Typiquement go.sh tu invoques un xterm dans lequel tu lances pouet.sh, go.sh plantera sur les machines qui n'ont pas xterm installé. De manière générale tu ne peux pas garantir qu'un utilisateur à installé tel ou tel type de terminal (s'il n'a pas de mode graphique, il n'a que les consoles du mode texte accessibles en appuyant sur ctrl alt f1 à f6).

Bref, le problème que tu tentes de résoudre n'a aucune raison d'être traité au niveau du script, c'est le problème de l'utilisateur. S'il veut le lancer depuis son explorateur graphique, c'est à lui de l'exécuter dans un terminal ou de paramétrer explorateur de sorte à ce que le script soit systématiquement lancé dans un terminal (si c'est possible).

Bonne chance
0