다음과 같이 .bashrc에 별칭을 설정했습니다.
alias u='cd ..'
내 세계에서는 모든 것이 잘되고 있습니다...이 글을 입력 cd ..
하고 내 놀라운 새 별칭을 사용하지 않는다는 사실에 움츠러들기 전까지는 말입니다. 사실, 이 특별한 일에 있어서 그것은 꽤 뿌리깊은 것입니다. 내 행동을 바꾸는 것은 어렵습니다. 심각한 개입이 필요합니다.
그래서 자연스럽게 다음을 사용하지 못하도록 다른 별칭을 설정해 보았습니다 cd ..
.
alias 'cd ..'='echo "Use your alias!"'
그러나 이것은 분명히 작동하지 않습니다. 내 생각에는 이것이 u
일종의 앨리어싱의 무한 루프에서 어떤 방식으로든 앨리어싱과 충돌할 수도 있다는 것입니다.
어떤 아이디어가 있나요?
답변1
명령에 몇 가지 추가 인수를 제공하는 것보다 더 복잡한 것은 별칭으로는 너무 많은 일이고 대신 함수가 필요합니다. builtin cd
원본을 회상하는 데 사용됩니다 .
cd () {
if [ "$*" = ".." ]; then
echo 1>&2 'Use your alias instead!'
return 2
else
builtin cd "$@"
fi
}
bash ≥4.0을 실행하는 경우 이 특정 별칭의 유용성에 의문이 듭니다. shopt -s autocd
자신의 이름 을 입력 ~/.bashrc
한 다음 ..
또는 다른 디렉터리 이름을 입력하면 해당 디렉터리로 전환됩니다.