Posts Tagged "current shell"

Executer la commande d’un script dans le shell courant

Executer la commande d’un script dans le shell courant

Si vous voulez exécuter une commande (ou plusieurs) contenue d’un script, celle-ci ne s’exécute pas dans le shell courant, démonstration : 1. Voici un simple script (nome ch_dir) qui se déplace dans le répertoire /usr Shell #!/bin/bash cd /usr 123 #!/bin/bashcd /usr  2. Essayons de l’exécuter depuis le shell Shell morgan@morgan-pc:~$ ./ch_dir morgan@morgan-pc:~$ 12 morgan@morgan-pc:~$ ./ch_dirmorgan@morgan-pc:~$ On peux voir que je ne me suis pas déplacer dans le répertoire car un script s’exécute sur un fork du shell actuelle.   Pour pouvoir faire cela, il existe la commande source Shell morgan@morgan-pc:~$ help -m source NAME source - Execute des commandes depuis un fichier dans le shell actuel. SYNOPSIS source nom_fichier [arguments] DESCRIPTION Execute des commandes depuis un fichier dans le shell actuel. Lit et exécute des commandes depuis NOMFICHIER dans le shell actuel. Les éléments dans $PATH sont utilisés pour trouver le répertoire contenant NOMFICHIER. Si des ARGUMENTS sont fournis, ils deviennent les paramètres de position lorsque NOMFICHIER est exécuté. Code de sortie : Renvoie le code de la dernière commande exécutée dans NOMFICHIER, ou le code d'échec si NOMFICHIER ne peut pas être lu. SEE ALSO bash(1) IMPLEMENTATION GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html> 1234567891011121314151617181920212223242526 morgan@morgan-pc:~$ help -m sourceNAME    source - Execute des commandes depuis un fichier dans le shell actuel. SYNOPSIS    source nom_fichier [arguments] DESCRIPTION    Execute des commandes depuis un fichier dans le shell actuel.        Lit et exécute des commandes depuis NOMFICHIER dans le shell actuel.  Les    éléments dans $PATH sont utilisés pour trouver le répertoire contenant NOMFICHIER.    Si des ARGUMENTS sont fournis, ils deviennent les paramètres de position    lorsque NOMFICHIER est exécuté.        Code de sortie :    Renvoie le code de la dernière commande exécutée dans NOMFICHIER, ou le code    d'échec si NOMFICHIER ne peut pas être lu. SEE ALSO    bash(1) IMPLEMENTATION    GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)    Copyright (C) 2013 Free Software Foundation, Inc.    Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>   Maintenant si je ré-exécute la même commande avec source, elle s’exécute bien dans le shell courant   Shell morgan@morgan-pc:~$ source ch_dir morgan@morgan-pc:/usr$ 12 morgan@morgan-pc:~$ source...

Read More