csh 쉘을 사용하여 그놈 터미널에서 새 탭을 만들 때 현재 경로를 여는 방법은 무엇입니까?

csh 쉘을 사용하여 그놈 터미널에서 새 탭을 만들 때 현재 경로를 여는 방법은 무엇입니까?

저는 CentOS 7.9(Gnome Terminal 3.28.2) csh(예, 알고 있지만 작업 요구 사항)를 기본 셸로 사용하고 있습니다. 내 문제는 gnome 터미널에서 새 탭을 열 때마다 ~/이전 경로의 경로를 유지하는 대신 새 탭이 으로 리디렉션된다는 것입니다. 내가 현재 에 있다고 가정하면 새 탭도 back 이 아닌 /home/myself/project1/src/에 있기를 바랍니다 ./home/myself/project1/src//home/myself

사용자가 기본적으로 새 탭을 사용하는 매우 오래된 CentOS 6.10 시스템(Gnome Terminal 2.31.3)에서는 csh원하는 대로 이전 경로를 보존합니다.

동시에 bash아무런 문제도 나타나지 않았습니다. 6.10이든 7.9이든 bash기본 셸로 사용되는 사용자는 새 탭을 열 때 항상 이전 경로를 유지합니다.

내 문제는 모두 쉘과 관련된 것 같습니다그리고그놈 터미널. 실망스럽게도 /etc/csh.cshrc파일은 CentOS 6.10 및 7.9 시스템에서 동일하게 보이며 Gnome Terminal의 기본 설정에서 토글을 찾을 수 없습니다.

제목으로 돌아가서, csh돌아가는 대신 그놈 터미널의 이전 탭 경로에서 새 탭을 열려면 어떻게 해야 합니까 ~/? 매우 감사합니다!

답변1

매개변수가 현재 작업 디렉토리의 URI인 URI 인코딩 형식의 OSC 7 이스케이프 시퀀스를 발행해야 합니다. 이는 터미널 에뮬레이터에 작업 디렉터리가 무엇인지 알려주므로 동일한 디렉터리에서 새 탭/창을 시작할 수 있습니다.

URI 인코딩을 수행하는 도우미 바이너리 사용을 포함하여 이를 수행하는 /etc/profile.d/vte.csh방법을 배우고 싶을 수도 있습니다 . 정확한 경로 이름은 시스템마다 약간 다를 수 있습니다./etc/profile.d/vte-2.91.sh/usr/libexec/vte-urlencode-cwd

/etc/profile.d/vte.csh쉘을 확인하는 것 같습니다 tcsh. 일반 old 와 작동하지 않는 것을 사용하는지 또는 적절한 위치(예: 프롬프트가 인쇄될 때 또는 디렉토리가 변경될 때) csh에 연결하는 방법을 모르겠습니다 . csh아니면 그것도 작동 하고 수표를 csh삭제했을 수도 있습니다. tcsh나는 그것에 대해 익숙하지 않거나 csh전혀 tcsh모르기 때문에 이 부분은 연습으로 남겨 둡니다.

관련 정보