Как передать псевдоним в sudo?

Как передать псевдоним в sudo?

Я пробовал вставлять свои псевдонимы в ~/.bash_profile, ~/.bashrc, /etc/profile, и /etc/bashrc.

Я все еще не могу выполнить следующее:

alias zf2="php public/index.php"

и затем выполните:

sudo zf2 orm:info

Проблема, по-видимому, в том, что я не могу указать псевдоним в качестве команды с помощью visudo--, что приводит к синтаксической ошибке.

Поэтому я не могу позвонить:

sudo zf2 orm:info

Однако мне удалось создать скрипт в /usr/share/scripts/zf2, который содержит:

#!/bin/bash

alias zf2="php public/index.php"
zf2 $1

и добавить этот скрипт как команду в visudo. Когда этот скрипт находится в PATH конечного пользователя, я могу выполнить

zf2 orm:info

У меня есть разные псевдонимы zf2, которые мне нужно предоставить конечному пользователю. Я бы предпочел поддерживать псевдоним вместо набора скриптов.

решение1

По иронии судьбы, решением является звонок sudoс псевдонима.

alias sd="sudo "

Примечание: хотя это и не рекомендуется, вы можете назвать псевдоним следующим образом sudo:alias sudo="sudo "

Справочное руководство Bash (псевдонимы)

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

Связанный контент