📅  最后修改于: 2023-12-03 15:07:57.281000             🧑  作者: Mango
很多程序员都用过Bash脚本来自动化任务,但有时候我们需要在不打开终端的情况下执行这些脚本。本文将介绍如何从应用程序启动Bash脚本。
一种非常简单的方法是使用macOS自带的Automator应用程序:
代码示例:
1. 打开Automator。
2. 选择“新建文稿”。
3. 选择“应用程序”作为类型。
4. 搜索并选择“运行Shell脚本”动作。
5. 将你的Bash脚本粘贴到脚本区域内。
6. 保存应用程序,然后运行即可。
如果你熟悉AppleScript,你也可以使用它来启动Bash脚本:
do shell script "/path/to/your/script.sh"
将 /path/to/your/script.sh
替换为你需要启动的脚本路径即可。
代码示例:
使用AppleScript启动Bash脚本:
```applescript
do shell script "/path/to/your/script.sh"
## 使用Launchd
如果你需要在系统启动时自动运行Bash脚本,你可以使用macOS的Launchd服务:
1. 编写一个包含如下内容的plist文件:
```xml
<!DOCTYPE plist PUBLIC
"-//Apple Computer//DTD PropertyList 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourcompany.yourscript</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/path/to/your/script.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
~/Library/LaunchAgents/
目录下。launchctl load ~/Library/LaunchAgents/com.yourcompany.yourscript.plist
以启动服务。代码示例:
使用Launchd启动Bash脚本:
```xml
<!DOCTYPE plist PUBLIC
"-//Apple Computer//DTD PropertyList 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourcompany.yourscript</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/path/to/your/script.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>