我正在尝试编写一个小脚本,在用户登录时启动。我搜索并让脚本运行,但无法在登录时使用 .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/>
,您的脚本将连续重新运行,而不仅仅是一次。