在 Mac 用户登录上打开终端和 运行 命令
Open terminal and run commands on Mac User Login
我正在尝试自动化启动脚本的一部分,该脚本将打开一个终端 window,该终端将 运行 命令并在登录时向用户显示一堆文本。
我试图在 /Library/LaunchAgent 中创建一个 plist,但似乎没有成功
/LaunchAgents/blah.blah.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "..........">
<plist version="1.0">
<dict>
<key>Label</key>
<string>terminal.menu</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</script>
<string>/Library/Scripts/Startup.sh</string>
</array>
</dict>
</plist>
Startup.sh 看起来像这样
osascript -e 'tell app "Terminal"
do script "echo blah blah ; ssh blah blah"
end tell'
根据 here 中的信息,您可以对 .plist
进行一些修改:
label
值应与您的 .plist
的名称匹配,在本例中为 "blah.blah"
,或者您应将 .plist
保存为 "terminal.menu.plist"
.
您指定了 ProgramArguments
,但没有指定 Program
。也许如果你改变这个:
<key>ProgramArguments</key>
<array>
<string>/bin/bash</script>
<string>/Library/Scripts/Startup.sh</string>
</array>
对此:
<key>Program</key>
<string>/Library/Scripts/Startup.sh</string>
所以您的 blah.blah.plist
定义现在看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "..........">
<plist version="1.0">
<dict>
<key>Label</key>
<string>blah.blah</string>
<key>Program</key>
<string>/Library/Scripts/Startup.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
我正在尝试自动化启动脚本的一部分,该脚本将打开一个终端 window,该终端将 运行 命令并在登录时向用户显示一堆文本。
我试图在 /Library/LaunchAgent 中创建一个 plist,但似乎没有成功
/LaunchAgents/blah.blah.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "..........">
<plist version="1.0">
<dict>
<key>Label</key>
<string>terminal.menu</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</script>
<string>/Library/Scripts/Startup.sh</string>
</array>
</dict>
</plist>
Startup.sh 看起来像这样
osascript -e 'tell app "Terminal"
do script "echo blah blah ; ssh blah blah"
end tell'
根据 here 中的信息,您可以对 .plist
进行一些修改:
label
值应与您的.plist
的名称匹配,在本例中为"blah.blah"
,或者您应将.plist
保存为"terminal.menu.plist"
.您指定了
ProgramArguments
,但没有指定Program
。也许如果你改变这个:<key>ProgramArguments</key> <array> <string>/bin/bash</script> <string>/Library/Scripts/Startup.sh</string> </array>
对此:
<key>Program</key> <string>/Library/Scripts/Startup.sh</string>
所以您的 blah.blah.plist
定义现在看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "..........">
<plist version="1.0">
<dict>
<key>Label</key>
<string>blah.blah</string>
<key>Program</key>
<string>/Library/Scripts/Startup.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>