screen
명령 에 심볼릭 링크를 전달할 chdir
때 심볼릭 링크를 역참조하지 않도록 지시하는 방법이 있습니까 ?
내 명령에는 .screenrc
다음이 있습니다.
chdir /data/project1
screen -t "project1"
chdir /data/project2
screen -t "project2"
screen
를 시작할 때 정기적으로 사용하는 여러 공통 디렉토리에 몇 개의 터미널을 미리 로드한다는 아이디어입니다 .
불행 하게도 거기에 있는 모든 것은 /data
내 시스템에 심볼릭 링크가 있으므로 screen
위 명령을 사용하여 로드하면 터미널은 원하는 폴더에 들어가려면 터미널에 를 입력 해야 합니다./mnt/remote/server1/long/path/to/project1
/data/project1
cd /data/project1
내가 사용하는 경로는 길고 변경될 수 있으므로 /data
파일을 다른 곳에 재배치할 경우 아무것도 변경할 필요가 없도록 바로가기를 사용하는 습관을 들이는 것을 선호합니다.
대상이 심볼릭 링크인 경우 심볼릭 링크를 역참조하지 않고 해당 디렉토리로 변경하도록 screen
알 수 있는 방법이 있습니까 ?chdir
답변1
나는 당신이 거기에서 무슨 일이 일어나고 있는지 오해했다고 생각합니다.
당신이 있을 때
/mnt/remote/server1/long/path/to/project1
쉘과 유형으로
cd /data/project1
그런 다음 디렉터리를 변경하지 않습니다. 쉘에 표시되는 내용만 변경하면 됩니다. 쉘은 논리적 디렉토리 계층과 물리적 디렉토리 계층을 구별합니다. screen
(그 외 거의 모든 것) 아니요.
가장 간단한 해결책은 아마도 일부 코드를 추가하는 것입니다 .bashrc
(를 사용한다고 가정 bash
).
test "$PWD" = '/mnt/remote/server1/long/path/to/project1' && cd /data/project1