1

для запуска определенной команды мне нужно использовать

sudo -h -u someuser <somecommand>

чтобы сохранить здравомыслие, я создал псевдоним

alias somecommand='function _dm(){ sudo -u ubuntu somecommand $@; };_dm'

Это прекрасно работает, пока я не попытаюсь сделать что-то необычное.

somecommand arg1 | xargs somecommand arg2

Это вызывает у меня проблемы, так как xargs не вызывает псевдоним. Можно ли как-то заставить эту работу работать?

1 ответ1

0
  1. Пока ваш псевдоним находится в вашем .bashrc , вы сможете делать ...|xargs bash -c somealias ...

  2. Проще всего вместо этого поместить свой псевдоним в сценарий оболочки. Сделайте ~/bin , добавьте его в PATH , вставьте скрипт, и ваша оригинальная команда будет работать.

Пример сценария оболочки:

#!/bin/bash
sudo -u ubuntu somecommand "$@"

Изменить: этот ответ предлагает попробовать # 1 с bash -ic вместо bash -c .

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