ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как запустить Alias ​​как Sudo в Linux

Как запустить Alias ​​как Sudo в Linux

Мы предполагаем, что вы уже знаете, как создать псевдоним в Linux. Псевдоним поможет вам легко выполнять длинные пользовательские команды. Вы можете сделать псевдоним постоянным, добавив его в bashrc или в файл конфигурации любой оболочки, которую вы используете в Linux.

Проблема возникает, когда вы пытаетесь запустить псевдоним с помощью sudo. Вы увидите ошибку, подобную этой:

sudo: my_alias: command not found

 

Вы будете думать, что, поскольку вы работаете как пользователь root, псевдоним должен быть определен в bashrc пользователя root, т.е. /.bashrc. Попробуйте, но держим пари, это не сработает.

Позвольте нам показать вам хитрый маленький трюк для запуска команды alias как sudo.

 

Запуск alias как sudo

Хитрость в том, чтобы создать псевдоним для самого sudo следующим образом:

sudo='sudo '

 

Пробел (или табуляция, если вы предпочитаете это) после sudo важен в приведенном выше коде. Теперь, если вы запустите команду псевдонима с помощью sudo, она будет работать нормально.

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

Если вы обратитесь к руководству alias в bash, вы увидите, что первое слово каждой простой команды, если оно не заключено в кавычки, проверяется на наличие псевдонима. Если последний символ значения псевдонима является пробелом или символом табуляции, то следующее слово команды, следующее за псевдонимом, также проверяется на расширение псевдонима.

Другими словами, в команде только первое слово проверяется на псевдоним. Но если значение псевдонима имеет пробел или табуляцию в конце, следующее слово команды также проверяется на псевдоним.

Вот почему, когда вы просто запускаете команду sudo my_alias с псевдонимом sudo ‘sudo’, сначала sudo проверяется на псевдоним. Псевдоним найден с пробелом в конце, и поэтому ваша система проверяет следующее слово для псевдонима. Он также находит псевдоним для этого, и ваша команда с псевдонимом работает так, как вы хотите.

Надеюсь, вам понравился этот небольшой совет, полезный для работы с псевдонимом sudo. Любые вопросы или предложения всегда приветствуются.

Exit mobile version