Пользовательский псевдоним не работает при использовании с sudo - PullRequest
1 голос
/ 01 марта 2011

alias slt=open -a "Sublime Text 2"

делает slt /regular/file работает.

Выполнить sudo slt /etc/hosts не удалось.

sudo: slt: command not found

Что дает?

Ответы [ 3 ]

0 голосов
/ 22 июля 2011

Мне удалось заставить рут работать. Просто изменив /root/.bashrc

alias sublime = '/ home / kervin / Software / Sublime-Text-2 / sublime_text'

Вы должны запустить его, чтобы проверить.

источник .bashrc

При перезапуске .bashrc запускается автоматически.

Однако работает только "su -" и становится root, тогда как использование "sudo sublime" - нет.

Есть ли другие способы сделать это?

0 голосов
/ 08 июня 2013

Чтобы заставить это работать, создайте псевдоним sudo как 'sudo'.Тогда bash расширит ваш псевдоним.Например,

$ alias sudo='sudo '
$ alias h='head'
$ h /etc/shadow
head: cannot open '/etc/shadow' for reading: Permission denied
$ sudo h /etc/shadow
root:!:15725:0:99999:7:::
daemon:*:15630:0:99999:7:::
0 голосов
/ 01 марта 2011

Псевдонимы известны только вашей локальной оболочке.Они подставляются во время интерактивного ввода команд и не наследуются дочерними оболочками.Так что у sudo просто не будет этого.Вместо этого вы должны использовать скрипт оболочки.

...