Mac开机启动执行脚本

284 阅读1分钟

以下演示如何在开机启动电脑的时候,给本地新增一个固定的内网虚拟IP地址.

操作步骤

1、新增文件执行脚本

sudo vim /Library/LaunchDaemons/org.my.ifconfig.plist

<?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>org.my.ifconfig</string>
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
      <string>/sbin/ifconfig</string>
      <string>lo0</string>
      <string>alias</string>
      <string>192.168.24.2</string>
    </array>
</dict>
</plist>

2、确保有权限运行

# 配置own
sudo chown root:wheel /Library/LaunchDaemons/org.my.ifconfig.plist

# 使用管理员加载它
sudo launchctl load -w /Library/LaunchDaemons/org.my.ifconfig.plist

解释

因为我的脚本使用到/sbin/ifconfig这个命令。需要root权限才可以运行。所以需要放到/Library/LaunchDaemons

对应不同的启动项,需要放到不同的目录中去。下面是Mac的一些启动脚本放置的目录。

内容来源-参考地址

目录启动说明
/Library/LaunchDaemons系统启动时运行,用户不登录也会运行
/Library/LaunchAgents用户登录后运行
~/Library/LaunchAgents用户自定义的用户启动项
/System/Library/LaunchDaemons系统自带的启动项
/System/Library/LaunchAgents系统自带的启动项

参考链接

developer.apple.com/library/arc…

developer.apple.com/library/arc…

superuser.com/questions/3…