명령이 실행되고 있다고 생각하는 디렉터리를 어떻게 변경할 수 있나요?

명령이 실행되고 있다고 생각하는 디렉터리를 어떻게 변경할 수 있나요?

명령이 현재 디렉터리에서 실행했다고 생각하도록 다른 디렉터리에 있는 명령을 실행하려면 어떻게 해야 합니까?

명령이 호출된 위치를 가져오기 위해 basename()또는 argv[0](또는 호출되는 모든 항목)을 사용하고 해당 디렉토리에 파일이 필요한 경우 응용 프로그램을 호출한 디렉토리에서 찾을 수 있습니다. 즉 잘못된 것입니다.

물론, cd먼저 디렉터리로 이동하여 호출할 수 있지만 먼저 해당 디렉터리에서 실행했다고 생각하도록 응용 프로그램을 호출하는 방법이 있습니까( cd먼저 ing하지 않고)?

가능하다면 이것을 에서 사용하겠습니다 . 거기에서 crontab사용할 생각이 겁이 나기 때문 입니다.cd

답변1

cdcrontab에서 사용하는 것이 왜 겁을 주나요?

일시적으로 디렉토리를 변경한 후 다시 돌아오려면 다음을 사용할 수 있습니다 pushd.popd

답변2

다음과 같은 스크립트를 만들 수 있습니다.

#!/bin/sh
cd /dir/
yourcommand

그런 다음 어딘가에 저장하고 해당 스크립트를 crontab에 추가하십시오.

관련 정보