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 참조 매뉴얼(별칭)

별칭 값의 마지막 문자가 공백이면 별칭 뒤의 다음 명령 단어도 별칭 확장을 확인합니다.

관련 정보