35

Я попытался поместить свои псевдонимы в ~/.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 ответ1

64

По иронии судьбы, решение состоит в том, чтобы вызвать sudo из псевдонима:

alias sd="sudo "

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .