나는 별칭을 가지고 있습니다 : alias gwanip=echo "$(dig +short myip.opendns.com @resolver1.opendns.com)
. 이것은 bashrc를 얻을 때마다 dig 명령을 실행한다는 것을 방금 깨달은 것을 제외하고는 잘 작동합니다. 기능을 유지하면서(즉, gwanip을 호출하는 내 IP를 에코) bashrc가 소스될 때마다 실행하지 않으려면 어떻게 해야 합니까?
답변1
달러 기호를 피하거나 쓸모 없는 부분을 제거 echo $( ... )
하면 됩니다.
alias gwanip="dig +short myip.opendns.com @resolver1.opendns.com"
또는 대신 쉘 함수를 사용하십시오.
function gwanip {
dig +short myip.opendns.com @resolver1.opendns.com
}
shortdig
쉘 함수를 사용하면 보다 일반적인 함수를 생성하고 호출 할 수도 있습니다 .
function shortdig {
dig +short "$1" "$2"
}
function gwanip {
shortdig "myip.opendns.com" "@resolver1.opendns.com"
}
설명서에는 bash
다음 내용이 포함되어 있습니다.
거의 모든 목적에서 별칭은 쉘 함수로 대체됩니다.
답변2
달러 기호를 없애면 됩니다.