별명을 sudo에 전달하려면 어떻게해야합니까? public/index.php” 그런 다음

나는 나의 별칭을 넣어 봤어 ~/.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최종 사용자에게 노출해야하는 것과 같은 다른 별칭이 있습니다. 스크립트 모음 대신 별칭을 유지하고 싶습니다.



답변

아이러니하게도 해결책은 sudo별칭에서 호출 하는 것입니다.

alias sd="sudo "

참고 : 권장하지는 않지만 별명을 지정할 수 있습니다 sudo.alias sudo="sudo "

배쉬 참조 매뉴얼 (별칭)

별명 값의 마지막 문자가 공백이면 별명 다음에 나오는 다음 명령 단어도 별명 확장을 점검합니다.