J'ai Ubuntu 14.04.2. Je souhaite que tous les utilisateurs aient automatiquement un ensemble d'alias spécifique. Mes alias sont définis dans mon .bashrc personnel, mais je ne veux pas avoir à les copier manuellement dans les autres utilisateurs. Idéalement, il devrait également les définir automatiquement pour les utilisateurs nouvellement créés.
38
Réponses:
Vous pouvez créer un script
/etc/profile.d/
pour créer des alias pour tous les utilisateurs:Créez un fichier appelé
00-aliases.sh
(ou tout autre nom de fantaisie) dans/etc/profile.d
:Mettez vous alias dans ce fichier. Exemple:
Sauvegarder le fichier
Quelques notes:
/etc/profile
est un fichier global qui est exécuté avant~/.profile
./etc/profile.d/
est un dossier qui contient des scripts appelés par/etc/profile
Quand
/etc/profile
est appelé (lorsque vous démarrez / connectez-vous à un shell), il recherche tous les fichiers se terminant.sh
par/etc/profile.d/
et les exécute avec l'une des commandes suivantes:00-
avant le nom du fichier pour le faire exécuter avant le reste des scripts./etc/profile
, mais cela n'est pas recommandé.la source
.sh
fichiers de/etc/profile.d/
(ou/etc/profile
) ne seront définis que pour les shells de connexion et ne fonctionneront pas dans les shells interactifs autres que de connexion. Contrairement aux variables d'environnement, bash ne peut pas exporter d'alias vers des processus enfants, pas même des shells de bash. Cette méthode peut sembler fonctionner correctement si elle est uniquement testée dans des shells de connexion, telle que le shell original obtenu en ouvrant une session dans une console virtuelle ou via SSH, mais elle échoue dans leurs shells enfants et dans les shells lancés par les fenêtres de terminaux à interface graphique.Comme indiqué ici , il est probablement préférable d'ajouter des alias globaux dans
/etc/bash.bashrc
:, car les scripts entrant
/etc/profile.d
peuvent être ignorés pour certains shells (non connectés). Il m'a fallu des heures pour comprendre pourquoi/etc/profile.d
cela ne fonctionnait pas.Voir par exemple https://askubuntu.com/a/606882/ et comprendre .bashrc et .bash_profile pour connaître la distinction entre les shells.
la source
Un alias ne fonctionnera que dans un shell. Si vous voulez quelque chose d'aussi accessible qu'un exécutable, vous pouvez ajouter un petit script de raccourci à
/usr/bin
, par exemple:Le
"$@"
transmet tous les arguments à l'exécutable. Le nom du script sera le nom de l'exécutable.Source: https://unix.stackexchange.com/a/52509/15954
la source
/ etc / bashrc
Ce n'est pas une bonne idée de changer ce fichier à moins que vous ne sachiez ce que vous faites. Il est bien préférable de créer un script shell custom.sh dans /etc/profile.d/ pour apporter des modifications personnalisées à votre environnement, car cela évitera la nécessité de fusionner dans les futures mises à jour.
la source