그래픽 파일 관리자에서 실행 중인 위치를 감지하는 스크립트를 얻으려면 어떻게 해야 합니까? 예를 들어, Nautilus에서 Wine 디렉터리에 있는 Windows 프로그램을 두 번 클릭하여 실행하고 싶지만 Wine에서는 파일 관리자의 열린 폴더를 현재 작업 디렉터리로 인식하지 않기 때문에 DLL 파일을 로드할 수 없습니다. 내 홈 디렉토리에서 실행되고 있다고 가정합니다.
명확성을 위해 편집됨:
이 예에서는 내가 실행 중인 와인 실행 파일이 어디에 있는지 감지하려고 하지 않습니다. 내 파일 관리자에 파일이 열려 /home/test-directory/win
있고 /home/test-directory/win/testprogram.exe
.
/home/test-directory/win
에서 시도해 볼 수 있도록 Wine 명령을 쉘 스크립트로 래핑하는 방법을 찾고 있습니다 . 내가 사용하는 경우 testprogram.exe
실행하기 전에 /home/other-directory/win
자동으로 으로 변경되기를 원합니다./home/other-directory/win
답변1
스크립트의 작업 디렉터리를 스크립트가 있는 디렉터리로 변경하려면 다음 구성을 사용할 수 있습니다.
#!/bin/sh
cd "$(dirname "$0")"
# Wine command(s) here
그러면 Wine 명령을 실행하기 전에 시작한 스크립트의 디렉터리를 해당 디렉터리로 변경합니다.