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 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 18 févr. 2010 à 16:35
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 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
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:
- Rendre un fichier executable linux
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
mamiemando
Messages postés
33654
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
4 mai 2025
7 847
18 févr. 2010 à 16:35
18 févr. 2010 à 16:35
Il suffit de double cliquer dessus et que le fichier ait des droits en exécution.
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 :
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
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