#1 Le 17/05/2021, à 16:20
- cmontesquat
[résolu] Script pour lancer Terminal avec un programme
Bonjour.
Comment lancer dans un script Terminal en lui demandant d'exécuter un autre script.
Inutile de dire que j'ai fait plein de recherches et d'essais. Le moins mauvais résultat est le suivant:
Script "lanceur" Test.sh
#!/bin/bash
# Commande pour ouvrir une session Terminal
# gnome-terminal -x ,--bash -c "Perso/VPN/Test2.sh"
gnome-terminal -- bash -c "Test2.sh ; bash"
# gnome-terminal -e, --bash Test2.sh
Script Test.2.sh
#!/bin/bash
echo zut
#cd ..
#dir
Résultat du lancement de Test.sh
bash: Test2.sh : commande introuvable
famillem_user@PCMaison:~/Perso/VPN$ dir
Start_VPN_par_User.sh Test2.sh Test.sh
Merci pour l'aide.
Dernière modification par cmontesquat (Le 17/05/2021, à 17:12)
Hors ligne
#2 Le 17/05/2021, à 16:25
- iznobe
Re : [résolu] Script pour lancer Terminal avec un programme
Bonjour , la demande n ' est pas tres claire , mais logiquement ca donne un truc comme ca :
bash ( qui est la commande d ' execution d ' un script bash ) , ensuite on donne le chemin du script en question ; par exemple pour un script nommé test.sh situé dans ton /home :
bash /home/$USER/test.sh
ou
bash ~/test.sh
si le terminal est deja placé dans ton home , tu peux directement ecrire :
bash test.sh
si c ' est pour un script nommé Test2.sh situé dans ~/Perso/VPN
la commande devrait etre :
bash ~/Perso/VPN/Test2.sh
Dernière modification par iznobe (Le 17/05/2021, à 16:29)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#3 Le 17/05/2021, à 16:47
- Watael
Re : [résolu] Script pour lancer Terminal avec un programme
il faut indiquer, par une option (-e ou -x), à gnome-terminal qu'il faut exécuter une commande.
iznobe : un script doit être exécutable pour ne pas avoir à l'appeler en tant qu'argument d'un shell.
la manip' de cmontesquat vise à avoir un shell opérationnel après l'exécution du script, sinon le terminal se ferme.
gnome-terminal a peut-être une option pour rester ouvert et opérationnel...
Dernière modification par Watael (Le 17/05/2021, à 16:49)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 17/05/2021, à 16:53
- erresse
Re : [résolu] Script pour lancer Terminal avec un programme
Bonjour,
Le but me semble-t-il est de lancer le script 2 dans un nouveau terminal, non ?
Dans ce cas, le lancement de "./t1" dans le répertoire courant fera ce travail. Note: il faut que les deux scripts soient rendus exécutables pour pouvoir les lancer via "./le_script"...
cat t1
#!/bin/bash
xterm -hold -e 'bash ./t2'
cat t2
#!/bin/bash
echo "coucou"
Ici, le script t2 est lancé dans le terminal "xterm", mais il peut l'être aussi bien dans "gnome-terminal"...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#5 Le 17/05/2021, à 17:06
- Amiralgaby
Re : [résolu] Script pour lancer Terminal avec un programme
Est-ce que [Résolu] Forcer lancement d'un script dans un terminal répond à ta question ?
le truc c'est que c'est propre à gnome-terminal
Dernière modification par Amiralgaby (Le 17/05/2021, à 17:07)
Vive la communauté du Libre !!!
Hors ligne
#6 Le 17/05/2021, à 17:06
- iznobe
Re : [résolu] Script pour lancer Terminal avec un programme
peut etre ca alors pour Test.sh:
#!/bin/bash
# Commande pour ouvrir une session
gnome-terminal -x ./Test2.sh"
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#7 Le 17/05/2021, à 17:12
- cmontesquat
Re : [résolu] Script pour lancer Terminal avec un programme
Merci à tous:
J'ai trouvé que ceci fonctionne. Il fallait mettre le chemin complet (à partir de la racine du DD) de localisation du 2e script (Teste2)
gnome-terminal -- bash -c "/home/famillem_user/Perso/VPN/Test2.sh ; bash"
Merci.
Hors ligne