저는 많은 스크린샷이 포함된 프레젠테이션을 많이 하는데 이를 프로젝트별로 정리하는 더 쉬운 방법을 원합니다. 현재 작업 디렉터리에서 스크린샷이 저장되는 위치를 변경하는 간단한 함수를 작성하려고 합니다.
함수를 작성하여 ~/.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
새로 캡처된 스크린샷이 올바른 디렉터리에 나타나는 것을 확인할 수 있습니다.