cd
필요에 따라 명령 기능을 사용자 정의하고 싶습니다 .
나는 다음 기능을 정의했다-
function cd () { cd "$@" && pushd "$@"; }
이 기능의 목적은 디렉토리를 스택에 자동으로 푸시하여 pushd .
매번 수동으로 입력하는 노력을 줄여줍니다 .
그러나 위의 함수는 내장 cd
함수가 아닌 함수 자체로 해석 되므로 무한 재귀 함수 cd
입니다.
cd
이 함수에서 내장을 어떻게 참조 합니까?
를 사용하여 별칭을 이스케이프 할 수 있다는 것을 알고 있습니다 \
. 보다 명시적인 방식으로 함수를 피하거나 내장을 참조하는 방법은 무엇입니까?
참고 : 함수 이름을 다른 것으로 바꾸고 싶지 않습니다.
pushd
은 지원하지 않습니다 -P
. 그러나 질문에 표시된 function cd
것처럼 디렉토리가 두 번 변경되었으므로 약간 잘못 보입니다.
alias cd=pushd
? 절대 경로가 아닌 다른 경로 (예 :)로 CD를 넣을 때 어떤 일이 발생cd ../
합니까?