Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/03/2019, à 12:24

punk7as7fck

Remplacer un Shell parent par un script

Autrement dit,obtenir le même résultat que:

exec echo adieu

( Pas de retour de shell puisqu'il n'existe plus )

;en utilisant un script,sans appeler le script avec exec(évidemment sinon c'est pas drôle)

Exemple fictif:

#!/bin/sh
# fichier: adieu.sh
echo Adieu
sort_de_ce_shell_et_ensuite_sort_du_shell_parent

Appelé comme cela:

./adieu.sh

?

Hors ligne

#2 Le 14/03/2019, à 12:41

pingouinux

Re : Remplacer un Shell parent par un script

Bonjour,
Tu peux ajouter à la fin de ton script :

kill -9 $PPID

Hors ligne

#3 Le 14/03/2019, à 13:16

bruno

Re : Remplacer un Shell parent par un script

Pourquoi ceci ne convient-il pas ?

echo adieu; exit 0

Hors ligne

#4 Le 14/03/2019, à 13:22

pingouinux

Re : Remplacer un Shell parent par un script

@bruno #3 : Parce que tu sors du script, mais ne ferme pas le terminal d'où tu l'as lancé

Hors ligne

#5 Le 14/03/2019, à 13:33

bruno

Re : Remplacer un Shell parent par un script

Bah, si.

Hors ligne

#6 Le 14/03/2019, à 13:39

pingouinux

Re : Remplacer un Shell parent par un script

Oui, mais punk7as7fck souhaite que les commandes soient dans un script, qu'il ne veut pas sourcer.

Hors ligne

#7 Le 14/03/2019, à 14:29

bruno

Re : Remplacer un Shell parent par un script

Ok. Mais je trouve ça très bourrin et risqué le kill -9 $PPID… d'ailleurs chez moi cela provoque une erreur.

#!/bin/bash
echo rien
kill -9 $PPID

Ne ferme pas le terminal et provoque une erreur : « Avertissement : Le programme « /bin/bash » s'est terminée d'une manière inattendue. »

Dernière modification par bruno (Le 14/03/2019, à 15:58)

Hors ligne

#8 Le 14/03/2019, à 14:53

punk7as7fck

Re : Remplacer un Shell parent par un script

pratique la var $PPID
Est-ce que c'est POSIX ?

message en #6,c'est ça.

Hors ligne