GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi Sudo ignore-t-il les alias ?

J'utilise Ubuntu 10.04 et j'utilise upstart pour la gestion des démons. Mon application d'entreprise est exécutée en tant que démon et doit être exécutée en tant que root en raison de divers privilèges. Ex. :

sudo start my-application-long-ID
sudo stop my-application-long-ID
etc

Je voudrais introduire un alias pour abréger ces commandes comme quelque chose comme :

alias startapp='sudo start my-application-long-ID'

et exécutez-le en tant que startapp et cela fonctionne mais je préférerais ne pas avoir sudo dans l'alias.

alias startapp='start my-application-long-ID'

ne fonctionne pas avec sudo startapp , renvoyant sudo: startapp: command not found .

Cependant, lorsque j'ai ajouté l'alias :

alias sudo='sudo '

sudo startapp fonctionne maintenant mais je suis toujours curieux de savoir pourquoi sudo ignore les alias.

Réponse acceptée :

Je vois les informations ci-dessous à partir d'ici.

Lorsque vous utilisez sudo, utilisez l'extension d'alias (sinon sudo ignore vos alias)

alias sudo='sudo '

La raison pour laquelle cela ne fonctionne pas est expliquée ici.

Bash ne vérifie que le premier mot d'une commande pour un alias, tous les mots
après cela ne sont pas vérifiés. Cela signifie que dans une commande comme sudo ll, seul
le premier mot (sudo) est vérifié par bash pour un alias, ll est ignoré.
Nous pouvons dire à bash de vérifier le mot suivant après l'alias (c'est-à-dire sudo) en
ajoutant un espace à la fin de la valeur d'alias.


Linux
  1. Comment "alias Sudo !!" ?

  2. Pourquoi l'utilisateur racine a-t-il besoin d'une autorisation Sudo ?

  3. Pourquoi [a-z] correspond-il aux lettres minuscules dans Bash ?

  4. Pourquoi l'heure Unix commence-t-elle au 1970-01-01 ?

  5. Pourquoi Plymouth commence-t-il si tard ?

15 alias de ligne de commande pour vous faire gagner du temps

Comment créer des alias Bash

Comment créer des alias de domaine

Comment exécuter un alias avec Sudo sous Linux

Commande d'alias Linux

Pourquoi la commande sudo prend-elle longtemps à s'exécuter ?