저는 이 기능을 가지고 있고, 정기적으로 사용하고 있으며 아주 훌륭하게 작동합니다.
여기있어:
cdx () { cd `dirname $1` ; }
그러나 공백에서는 작동하지 않습니다. 이렇게 사용하다보니
cdx ~/desktop/folder/file\ file
그것은 돌아온다
usage: dirname path
하지만 제가 전달하려는 것은 본질적으로 dirname path
. 그러면 이 문제를 해결하려면 어떻게 해야 할까요? (폴더 이름에 공백이 있는 경우에도 마찬가지입니다.)
내 첫 번째 생각은 따옴표를 사용하는 것이었지만 cdX "directory\ whatever"
그것도 작동하지 않았습니다.
답변1
간단히 작성하면 $i
공백이 변수 내용을 여러 인수로 변환합니다. 공백을 유지하려면 무언가를 인용해야 합니다.
귀하의 예를 들어 다음을 수행할 수 있습니다.
cdx () { cd -- "$(dirname -- "$1")" ; }
그리고 기억해언제나변수를 참조하세요.