Я добавил псевдонимы для пользователя ~ / .bashrc, но «sudo -u user -i 'alias_name'» все еще сообщает «команда не найдена»? - PullRequest
7 голосов
/ 30 марта 2012

В качестве простого примера, в пользовательском foo ~ / .bashrc есть псевдоним;

alias ll='ls -l'

Используя sudo, я вижу, что псевдоним установлен;

bar@laptop:~$ sudo -u foo -i alias ll
alias ll=`ls -l'

Но,На самом деле я не могу использовать псевдоним;

 bar@laptop:~$ sudo -u foo -i ll
 -bash: ll: command not found

Команды, которые являются функциями bash, работают, хорошо.Есть ли способ заставить работать псевдонимы?

Ответы [ 3 ]

10 голосов
/ 30 марта 2012

Попробуйте:

alias sudo='sudo '

http://www.shellperson.net/using-sudo-with-an-alias/

3 голосов
/ 30 марта 2012

Отличный пример того, как это сделать , есть в вики Archlinux .Добавьте следующее к вашему .bashrc

alias sudo="sudo "

Не спрашивайте меня, почему это работает.Я просматривал страницы справочника в поисках этого без удачи, но это никогда не подводило меня.

1 голос
/ 23 января 2014

убедитесь, что вы добавили

alias sudo='sudo '

затем добавьте свой псевдоним ... например. если обычная команда

sudo rm ~/qwerty/removethis.txt

псевдоним для вышеуказанной команды будет выглядеть как

alias your_custom_alias='sudo rm ~/qwerty/removethis.txt'
...