5

У меня есть псевдоним, который я хотел бы использовать как обычный пользователь и как пользователь root через sudo. В частности, это так:

alias rm=trash

Это нормально работает как обычный пользователь, и работает нормально, когда я использую sudo -i для получения приглашения командной оболочки root, но если я использую sudo rm , псевдоним не применяется. Так, где я должен поместить свой псевдоним, чтобы он работал в одноразовых командах sudo?

2 ответа2

10

Создайте псевдоним для sudo с пробелом в конце:

alias sudo='sudo '

Тогда все остальные псевдонимы будут работать с sudo.

Но, как уже упоминалось в другом ответе, псевдоним rm для выполнения trash , вероятно, плохая идея. Что мне нравится делать, так это "отключать" rm следующим образом:

alias rm='echo "rm is disabled, use trash or /bin/rm instead."'

С этим вы скоро получите привычку печатать trash вместо rm .

1

Это не сработает, но если вы используете функцию и экспортируете ее, это сработает.

dl () { trash "$@"; }
export -f dl

Псевдоним rm - плохая идея, потому что если вы привыкли использовать псевдоним или функцию, защищающую вас, и в какой-то момент псевдоним по какой-то причине недоступен, вы используете rm и он удаляет кучу вещей, которые будет трудно вернись

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