J'ai un alias qui transmet certains paramètres à un outil que j'utilise souvent. Parfois je cours seul, parfois sous sudo. Malheureusement, bien sûr, sudo ne reconnaît pas le pseudonyme.
Quelqu'un a-t-il une idée sur la façon de transmettre le pseudonyme?
Dans ce cas, j’ai un tas d’options pour perl lors du débogage:
alias pd='perl -Ilib -I/home/myuser/lib -d'
Parfois, je dois déboguer mes outils en tant que root, donc au lieu d’exécuter:
pd ./mytool --some params
J'ai besoin de l'exécuter sous sudo. J'ai essayé de nombreuses manières:
sudo eval $(alias pd)\; pd ./mytool --some params
sudo $(alias pd)\; pd ./mytool --some params
sudo bash -c "$(alias pd)\; pd ./mytool --some params"
sudo bash -c "$(alias pd); pd ./mytool --some params"
sudo bash -c eval\ "$(alias pd)\; pd ./mytool --some params"
sudo bash -c eval\ "'$(alias pd)\; pd ./mytool --some params'"
J'espérais trouver un moyen agréable et concis de s'assurer que mon alias actuel de pd était pleinement utilisé (au cas où je devrais le modifier plus tard), même si certaines de mes tentatives n'étaient pas du tout concises. Mon dernier recours est de le mettre dans un script shell et de le placer quelque part que sudo pourra trouver. Mais les pseudonymes sont tellement utiles parfois, alors c'est un dernier recours.
A trailing space in value causes the next word to be checked for alias substitution when the alias is expanded.