간단한 별칭과 더 복잡한 작업을 위한 추가 기능이 포함되어 ~/.bashrc
있거나 제공되는 거대한 별칭 파일이 있습니다 .~/.zshrc
# example aliases
alias "sudo=sudo "
alias "testalias=echo 'Aliases work as expected'"
# example function
testfunction(){
echo "Function $1 works as expected"
}
다음 명령을 사용하거나 사용하지 않고 이 명령을 실행하면 이런 일이 발생합니다 sudo
.
> testalias
Aliases work as expected
> testfunction "test"
Function test works as expected
> sudo testalias
Aliases work as expected
> sudo testfunction "test"
sudo: testfunction: command not found
나도 별 차이 없어 보여
export -f testfunction && sudo -E testfunction "test"
alias "testfunction-alias=testfunction" && sudo -E testfunction-alias "test"
sudo
별칭을 사용한 것처럼 함수를 어떻게 호출할 수 있나요 ?
별칭이 너무 많기 때문에 각각에 대한 별칭을 내보내거나 만들 필요가 없을 수도 있습니다.
답변1
sudo
명령을 실행하면 별칭이나 기능을 실행할 수 없습니다. 별칭은 쉘의 기능입니다. 따라서 별칭을 실행하려면 먼저 루트 셸을 시작해야 합니다.