Menu

Ouvrir un script shell comme une application

souzouker - 5 mars 2018 à 17:58 - Dernière réponse : mamiemando 28418 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 21 juin 2018 Dernière intervention
- 7 mars 2018 à 10:23
Bonjour,

J'essaye de créer un script shell qui s'éxecute dans un terminal en entrant les commandes inscrites ci-dessus, mais je bloque car à chaque j'ouvre gedit, quand je clique dessus , à aucun moment le système ne me propose de l'ouvrir autrement.

À savoir que j'ai coché "autoriser l'éxecution du fichier comme un programme"

Voici ma commande :

#!/bin/sh
 xterm -e sudo testdisk ; $shell


Je suis pas très bon en shell, j'ai vérifié plusieurs discussions et tutoriaux avant de tester, mais rien ne me permet de dire si c'est bon ou non, pouvez vous m'aidez à cela s'il vous plait?

Afficher la suite 

Votre réponse

5 réponses

mamiemando 28418 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 21 juin 2018 Dernière intervention - Modifié par mamiemando le 6/03/2018 à 10:15
0
Merci
Bonjour,

Plusieurs choses :
  • la variable d'environnement à utiliser serait
    $SHELL
    , pas
    $shell
    . Tu peux notamment vérifier la différence entre ces deux commandes dans un terminal :
    echo $shell
    et
    echo $SHELL
    .
  • lancer un shell depuis un programme shell ne me paraît pas utile
  • si tu lances
    xterm
    , celui-ci lance déjà un shell par lui-même, il n'est donc pas utile d'en relancer un explicitement
  • généralement quand tu écris un script shell, tu ne lances pas explicitement un termina graphique, car certains ont (ou pas)
    xterm
    , d'autres
    konsole
    ,
    gnome-terminal
    , etc... Voire certain n'ont juste pas de mode graphique installé ! (e.g. sur un serveur).


Précise-nous quel est ton objectif s'il te faut plus de détails.

Bonne chance
souzouker 41 Messages postés jeudi 17 août 2017Date d'inscription 16 mars 2018 Dernière intervention - 6 mars 2018 à 11:23
Merci de ta réponse,

Mon objectif est de créer un fichier sur le bureau un script me permettant d'ouvrir un terminal en double cliquant dessus. J'aimerais voir le terminal et éviter qu'il ne se ferme (donc avec shell) et pouvoir continuer à écrire/interagir avec le terminal après que le script soit terminé.

Pour information, mon système est ubuntu 16.04 lts.

Je n'ai pas précisé mais je n'arrive absolument pas à exécuter le script shell pour ouvre qu'il un terminal, il m'ouvre gedit à la place.
zipe31 35643 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 20 juin 2018 Dernière intervention > souzouker 41 Messages postés jeudi 17 août 2017Date d'inscription 16 mars 2018 Dernière intervention - 6 mars 2018 à 17:41
Salut,

Est-ce que ton script est exécutable au moins ?

Pour le savoir, ouvre un terminal là où se trouve ton script et tapes :
stat ton_script
et rapporte-nous le résultat ici.
souzouker 41 Messages postés jeudi 17 août 2017Date d'inscription 16 mars 2018 Dernière intervention > zipe31 35643 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 20 juin 2018 Dernière intervention - 6 mars 2018 à 19:27
Bonsoir zipe31,

J'ai revérifié et je peux bien les changer dans les préférences. En réalité il fallait que je change les préférences dans Gedit. (Je suis sur un autre ordinateur, là malheureusement, je serai vague dans l'explication).

Maintenant, je peux l'exécuter dans un terminal. J'aimerais savoir si il est possible d'entrer le mot de passe root dans le script ? à savoir de vos réponses, je mettrais le sujet quelque peu après comme résolu.
mamiemando 28418 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 21 juin 2018 Dernière intervention - 7 mars 2018 à 10:23
Si ton script contient l'une de ces instructions :

sudo commande
su -c "commande"


... le mot de passe root sera demandé pour exécuter la commande "commande"

Bonne chance
Commenter la réponse de mamiemando