별칭으로 출력 파이핑

별칭으로 출력 파이핑

특정 명령을 실행하려면 사용해야 합니다.

sudo -h -u someuser <somecommand>

정신을 차리기 위해 별칭을 만들었습니다.

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

내가 멋진 일을 시도하기 전까지는 이것은 훌륭하게 작동합니다.

somecommand arg1 | xargs somecommand arg2

xargs가 별칭을 호출하지 않기 때문에 문제가 발생합니다. 어떻게든 이 작업을 수행할 수 있습니까?

답변1

  1. 귀하의 별칭이 에 있는 한 다음을 .bashrc수행할 수 있어야 합니다....|xargs bash -c somealias ...

  2. 대신 별칭을 쉘 스크립트에 넣는 것이 더 쉽습니다. 을 만들고 ~/bin에 추가하고 PATH스크립트를 넣으면 원래 명령이 작동합니다.

예제 셸 스크립트:

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

편집하다:이 답변bash -ic대신에 #1을 시도해 볼 것을 제안합니다 bash -c.

관련 정보