macos开机主动执行自定义脚本

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

背景

   每次开机都需要执行一下idea破解脚本,比力贫苦,所以写个脚本丢给OS,开机后主动执行,这样以后就不消每次手动执行了。
  主动加载原理

   

  • macOS会在每次启动时主动加载~/Library/LaunchAgents/目录下的.plist文件。
  • 假如你不想手动加载服务,只需将.plist文件放置在该目录下即可。
  • 系统会根据RunAtLoad键的值()在启动时运行指定的脚本。
  1. 创建.plist设置文件

创建一个.plist文件,并将其生存到~/Library/LaunchAgents/目录下。例如,文件名为com.example.myscript.plist。
  1. nano ~/Library/LaunchAgents/com.example.myscript.plist
复制代码
在文件中添加以下内容:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.     <key>Label</key><string>com.example.myscript</string>
  6.     <key>Program</key<string>/Users/uhomepath/Downloads/IDEA/scripts/install.sh</string>
  7.     <key>RunAtLoad</key><true/>
  8. </dict>
  9. </plist>
复制代码


  • Label:服务的唯一标识。
  • Program:指定要运行的脚本路径。
  • RunAtLoad:表如今系统启动时运行脚本。
2. 确保脚本文件具有可执行权限

确保你的脚本文件(install.sh)具有可执行权限:
  1. chmod +x /Users/uhomepath/Downloads/IDEA/scripts/install.sh
复制代码
3. 加载服务

虽然系统会在启动时主动加载~/Library/LaunchAgents/目录下的.plist文件,但为了确保服务立即见效,你可以在第一次设置完成后手动加载它:
  1. launchctl load ~/Library/LaunchAgents/com.example.myscript.plist
复制代码
4. 验证服务是否见效

  1. launchctl list | grep com.example.myscript
复制代码
假如看到服务,分析服务已成功加载。
5. 如何禁用服务

假如需要禁用该服务,可以运行以下命令:
  1. launchctl unload ~/Library/LaunchAgents/com.example.myscript.plist
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表