Shell 启动和Bing壁纸外壳脚本

Shell 启动和Bing壁纸外壳脚本,shell,launchd,Shell,Launchd,我正在尝试使用mac&ubuntu的bing壁纸下载程序(在这里找到:)下载每日bing壁纸并将其设置为背景。如果我通过键入以下内容从终端运行脚本,脚本运行良好: sh /Users/noahschneider/Pictures/wallpaper-changer/bing-wallpaper.sh 但是,当我尝试将其设置为启动任务时,它不起作用。launchD plist文件存储在/Users/noahschneider/Library/LaunchAgents/中,如下所示: <?x

我正在尝试使用mac&ubuntu的bing壁纸下载程序(在这里找到:)下载每日bing壁纸并将其设置为背景。如果我通过键入以下内容从终端运行脚本,脚本运行良好:

sh /Users/noahschneider/Pictures/wallpaper-changer/bing-wallpaper.sh
但是,当我尝试将其设置为启动任务时,它不起作用。launchD plist文件存储在/Users/noahschneider/Library/LaunchAgents/中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.ideasftw.bing-wallpaper</string>
        <key>ProgramArguments</key>
        <array>
            <string>/bin/bash</string>
            <string>/Users/noahschneider/Pictures/wallpaper-changer/bing-wallpaper.sh</string>
        </array>
        <key>LowPriorityIO</key>
        <true/>
        <key>Nice</key>
        <integer>1</integer>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Hour</key>
            <integer>8</integer>
            <key>Minute</key>
            <integer>30</integer>
        </dict>
    </dict>
</plist>
#!/usr/bin/env bash

PICTURE_DIR="$HOME/Pictures/bing-wallpapers/"

rm -rf /Users/noahlschneider/Pictures/bing-wallpapers

mkdir -p $PICTURE_DIR

ONLYONE=0

while ! ping -W 1 -c 1 8.8.8.8 >&/dev/null; do sleep 10; done

urls=( $(curl -s http://www.bing.com | \
    grep -Eo "url:'.*?'" | \
    sed -e "s/url:'\([^']*\)'.*/http:\/\/bing.com\1/" | \
    sed -e "s/\\\//g") )

for p in ${urls[@]}; do
    filename=$(echo $p|sed -e "s/.*\/\(.*\)/\1/")
    if [ ! -f $PICTURE_DIR/$filename ] && [ $ONLYONE -eq 0 ]; then
        echo "Downloading: $filename ..."
        curl -Lo "$PICTURE_DIR/$filename" $p
        ONLYONE=$((ONLYONE+1))
    else
        echo "Skipping: $filename ..."
    fi

osascript /Users/noahschneider/Pictures/wallpaper-changer/next-wallpaper.scpt

done
此脚本依次调用一个apple脚本,该脚本更改墙纸,如下所示:

tell application "System Events"
    set rotinterval to change interval of current desktop
    set change interval of current desktop to 1
    delay 1
    set change interval of current desktop to rotinterval
end tell
出什么事了?以这种方式运行时,脚本是否没有所需的管理员权限?谢谢大家!