Osx

MacOS:更改螢幕截圖位置

  • April 12, 2019

我做了很多涉及許多螢幕截圖的展示文稿,我想要一種更簡單的方法來按項目組織它們。我正在嘗試編寫一個簡單的函式來更改螢幕截圖保存到目前工作目錄的位置。

我已經編寫了一個函式並將其保存到~/.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.Google搜尋此錯誤消息讓我無處可去。

我在執行 Mojave 10.14.4 的 Mac 上。

這種略有不同的語法似乎對我有用;這可能.是 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命令,我就能夠觀察到新擷取的螢幕截圖出現在正確的目錄中。

引用自:https://unix.stackexchange.com/questions/512151