자주 사용하는 도구에 일부 매개 변수를 전달하는 별칭이 있습니다. 때때로 나는 나 자신처럼 달리기도하고 때로는 sudo를 받는다. 불행히도 sudo는 별칭을 인식하지 못합니다.
별칭을 전달하는 방법에 대한 힌트가 있습니까?
이 경우 디버깅 할 때 perl에 대한 많은 옵션이 있습니다.
alias pd='perl -Ilib -I/home/myuser/lib -d'
때로는 도구를 루트로 디버깅해야하므로 대신 실행하지 마십시오.
pd ./mytool --some params
sudo에서 실행해야합니다. 나는 여러 가지 방법을 시도했다.
sudo eval $(alias pd)\; pd ./mytool --some params
sudo $(alias pd)\; pd ./mytool --some params
sudo bash -c "$(alias pd)\; pd ./mytool --some params"
sudo bash -c "$(alias pd); pd ./mytool --some params"
sudo bash -c eval\ "$(alias pd)\; pd ./mytool --some params"
sudo bash -c eval\ "'$(alias pd)\; pd ./mytool --some params'"
내 시도 중 일부가 전혀 간결하지 않았지만 현재 pd 별칭이 완전히 사용되도록 (나중에 조정해야 할 경우) 간결하고 간결한 방법을 원했습니다. 나의 마지막 수단은 그것을 쉘 스크립트에 넣고 sudo가 찾을 수있는 곳에 두는 것입니다. 그러나 별칭은 때로는 너무 편리하므로 마지막 수단입니다.
A trailing space in value causes the next word to be checked for alias substitution when the alias is expanded.