KDialog를 사용하여 작업 디렉토리를 변경하는 방법은 무엇입니까?

KDialog를 사용하여 작업 디렉토리를 변경하는 방법은 무엇입니까?

사용 사례: 저는 /path/with/a/very/long/name에 있는 터미널에서 작업 중이며 깊게 중첩된 다른 디렉토리로 변경하고 싶습니다. 하지만 내 기억으로는 그런 건 잘 모르겠어. 그래서 GUI를 탐색하여 어디를 탐색해야 하는지 알아내고 싶습니다.

나는 이 스크립트를 생각해 냈습니다.

#!/bin/sh
echo "change working directory"
MYDIRECTORY=$(kdialog --getexistingdirectory ::label1);
if [ "$?" = 0 ]; then
    cd "$MYDIRECTORY"
elif [ "$?" = 1 ]; then
    echo "action canceled";
else
    echo "ERROR";
fi;
exit 0

불행히도 작동하지 않습니다. 스크립트가 종료되면 터미널의 원래 디렉토리에 남게 됩니다. 나는 이것이 cd 명령을 실행하는 하위 쉘이 원래 디렉토리가 복원된 상태로 종료되었기 때문이라는 것을 알게 되었습니다.

그렇다면 어떻게 목표를 달성할 수 있나요?

답변1

스크립트 파일이 아닌 쉘 함수(예: .bashrc)로 작성하세요.

관련 정보