Création de plusieurs alias temporaires

9

Je ne suis pas un utilisateur root et je n'ai pas accès au fichier d'alias global qui a créé tous les alias, mais je veux créer des alias qui restent actifs uniquement pour la session à laquelle je suis connecté. J'utilise la commande alias x='cd /parent/child'pour créer un alias qui me permettra de taper simplement xsur la console & je change dir en / Parent / Child.

Cependant, je veux créer plusieurs alias et je ne veux pas taper chaque alias que je crée à chaque fois.

J'ai essayé de mettre toutes les lignes alias = 'do this' dans un fichier (lui a donné la permission 777) en espérant qu'en exécutant le fichier, tous ces alias seraient créés à chaque connexion. Mais cela ne s'est pas produit.

ex:

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

J'ai aussi essayé ça dans le dossier mais en vain:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

Aucun des noms d'alias que j'ai essayés n'était déjà présent dans l'alias global. (J'ai tapé alias et vu la sortie à l'écran).

Web Nash
la source
Vous pouvez mettre tous vos alias dans un .bashrcfichier.
cuonglm
@Web Nash: Mais si vous voulez passer différents arguments à différentes commandes, cela ne fonctionnera pas
Thushi

Réponses:

12

générer tout votre alias de session dans un fichier, par exemple alias.txt

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

puis utilisez

 . ./alias.txt

Vous devriez avoir tout votre alias dans la liste des alias, pour cette seule session.

Éditer:

Assurez-vous d'utiliser

. ./alias.txt

ne pas

./alias.txt

Dans le premier cas, le contenu est lu «comme s'il était tapé», tandis que le dernier cas définira un alias dans un shell qui se fermera.

Archemar
la source
J'ai fait une chose similaire au départ avant de poster cette question. Au lieu d'un fichier texte, je viens de mettre ces lignes dans un fichier sans extension et cela n'a pas fonctionné. Mais même quand je l'ai essayé avec une extension .txt, cela n'a pas fonctionné
Web Nash
Cela a parfaitement fonctionné. Merci beaucoup. Je n'ai pas compris la différence entre l'utilisation de ces trois formes 1) alias.txt 2) ./alias.txt 3). ./alias.txt
Web Nash
les formulaires 1) et 2) sont équivalents si. est dans votre $ PATH. thay appellera baiscally un nouveau shell, exécutez la commande. Dans la plupart des cas, c'est OK, mais si vous voulez un alias ou une fonction, la définition disparaîtra à la sortie du shell.
Archemar