MacOS: 화면 캡처 위치 변경

MacOS: 화면 캡처 위치 변경

저는 많은 스크린샷이 포함된 프레젠테이션을 많이 하는데 이를 프로젝트별로 정리하는 더 쉬운 방법을 원합니다. 현재 작업 디렉터리에서 스크린샷이 저장되는 위치를 변경하는 간단한 함수를 작성하려고 합니다.

함수를 작성하여 ~/.my_custom_commands.sh.

현재 파일은 다음과 같습니다.

#!/bin/bash
# changes location of screenshot to current directory
function shoothere() {
    defaults write com.apple.screencapture location '. '
    killall SystemUIServer
    echo 'foo'
    }

스크린샷을 저장하고 싶은 디렉토리로 이동해 함수를 실행하면 인쇄는 되지만 foo스크린샷은 어디에도 나타나지 않습니다.

나는 또한 그것을 '. '로 바꾸고 $1실행하려고 시도했지만 $ shoothere .오류가 발생했습니다. Rep argument is not a dictionary. Defaults have not been changed.이 오류 메시지를 인터넷 검색해도 아무 것도 얻지 못했습니다.

내 Mac에서는 Mojave 10.14.4를 실행하고 있습니다.

답변1

이 약간 다른 구문은 저에게 적합한 것 같습니다. .백그라운드에서 실행되는 서비스는 MacOS에서 올바르게 처리되지 않을 수 있습니다.

~/foo $ defaults write com.apple.screencapture location "$(pwd)"
~/foo $ defaults read com.apple.screencapture
{
    "last-messagetrace-stamp" = "576625649.15493";
    location = "/Users/[redacted]/foo";
}

기본값으로 다시 재설정하려면 다음 명령을 사용할 수 있습니다.

$ defaults delete com.apple.screencapture location

killall SystemUIServer전혀 필요하지 않습니다. 명령을 실행하자마자 defaults write새로 캡처된 스크린샷이 올바른 디렉터리에 나타나는 것을 확인할 수 있습니다.

관련 정보