Fondamentalement parce que lorsque vous exécutez ./aliases
, cela crée un processus dans lequel vos alias existent mais se termine immédiatement après, alors que lorsque vous le sourcez
, il s'applique à votre processus bash actuel.
Pour obtenir de l'aide sur source
, vous devez lire le man bash
. Pour vous éviter la peine:
source nom_fichier [arguments]
Lit et exécute les commandes depuis le fichier nom_fichier dans l'environnement shell actuel
et renvoie le statut de sortie de la dernière commande exécutée depuis le fichier.
Si nom_fichier ne contient pas de slash, les noms de fichiers dans PATH sont utilisés pour trouver
le répertoire contenant nom_fichier. Le fichier recherché dans PATH n'a pas besoin
d'être exécutable. Lorsque bash n'est pas en mode posix, le répertoire courant est
recherché si aucun fichier n'est trouvé dans PATH. Si l'option sourcepath de la commande intégrée shopt
est désactivée, le PATH n'est pas recherché. Si des arguments sont
fournis, ils deviennent les paramètres positionnels lorsque nom_fichier est
exécuté. Sinon, les paramètres positionnels restent inchangés. Le retour
status est le statut de la dernière commande exécutée dans le script (0 si
aucune commande n'est exécutée), et false si nom_fichier n'est pas trouvé ou ne peut pas
être lu.