Mavericks 启动脚本

Mavericks 启动脚本

我正在尝试编写一个小脚本,在用户登录时启动。我搜索并让脚本运行,但无法在登录时使用 .plist 运行

我们已经设置了 Active Directory。当用户使用其凭据登录时,脚本一旦执行就会手动运行

tell application "finder"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

或者

set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName

并将其保存为 .scpt 两种手动操作均可

或者我需要这样使用它

tell application "Terminal"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

另存为 .sh

现在 plist 保存在/Library/LaunchAgents

<plist version="1.0">

<dict>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.script</string>
    <key>ProgramArguments</key>
    <array>
       <string>/Users/Shared/SCRIPT.sh</string>
    </array>
</dict>

</plist>

并执行以下命令

launchctl load /Library/LaunchAgents/com.script.plist

不起作用。无法在登录期间自动安装驱动器

请帮忙。我不是程序员,所以请具体说明。

谢谢你,克里斯

答案1

您的脚本是 applescript,而不是 shell 脚本,因此您无法直接执行它。我认为让命令ossascript解释它会有效:

<array>
    <string>/usr/bin/osascript</string>
    <string>/Users/Shared/SCRIPT.sh</string>
</array>

(&请使用比“.sh”更合适的文件扩展名)

顺便说一句,我很确定您想要KeepAlive设置为<false/>——将其设置为<true/>,您的脚本将连续重新运行,而不仅仅是一次。

相关内容