bartender 是一个功能强大的命令行工具,主要用于管理和自动化你的菜单栏,如果你经常需要手动拖拽、排列 macOS 菜单栏上的图标,或者想让菜单栏更整洁、更自动化,bartender 就是你需要的利器。

什么是 Bartender CLI?
bartender 是一个由 MacPaw(著名的开发商,也是 CleanMyMac X 的开发商)开发的命令行界面工具,用于控制其图形界面应用 Bartender 5。
它让你可以通过编写脚本或使用终端命令,来精确控制 Bartender 的各种功能,
- 显示/隐藏特定的菜单栏图标。
- 重新排列菜单栏图标的顺序。
- 在特定时间或条件下自动执行操作。
- 将复杂的操作封装成一键执行的脚本。
重要前提: 你必须在你的 Mac 上已经安装并购买了 Bartender 5 的正版许可,CLI 工具本身是包含在 Bartender 安装包里的,你无需单独下载。
如何安装和启用 Bartender CLI?
步骤 1:安装 Bartender 5
如果你还没有安装,请从 MacPaw 官网购买并安装 Bartender 5。

步骤 2:找到并启动 CLI 工具
CLI 工具位于 Bartender 的应用程序包内部。
- 打开“访达”(Finder)。
- 进入“应用程序”文件夹。
- 找到并右键点击
Bartender 5.app,选择“显示包内容”(Show Package Contents)。 - 在打开的文件夹中,导航到
Contents/MacOS/目录。 - 你会看到一个名为
bartender-cli的文件,这就是我们要用的命令行工具。
步骤 3:为命令行工具创建别名(推荐)
每次都输入完整路径太麻烦了,我们可以为它创建一个简短的别名,方便在任何终端中使用。
打开你的终端(Terminal),然后输入以下命令:
# 将 bartender-cli 的路径添加到你的 shell 配置文件中 # 如果你使用的是 zsh (macOS Catalina 及以后版本默认) echo 'alias bartender="/Applications/Bartender 5.app/Contents/MacOS/bartender-cli"' >> ~/.zshrc # 如果你使用的是 bash # echo 'alias bartender="/Applications/Bartender 5.app/Contents/MacOS/bartender-cli"' >> ~/.bash_profile
为了让配置生效,运行:

source ~/.zshrc # 或者对于 bash # source ~/.bash_profile
你就可以在终端中直接输入 bartender 来使用这个工具了。
步骤 4:检查 CLI 是否正常工作
在终端中输入以下命令:
bartender --version
Bartender 正在运行,你应该能看到类似下面的输出,显示其版本号。
常用命令和示例
在继续之前,你需要知道 Bartender 中的“元素”指的是什么,每个菜单栏图标(如 Wi-Fi、电池、Dropbox 等)在 Bartender 中都被视为一个“元素”,你需要知道你想要控制的元素的名称。
基本命令结构
bartender <command> <options>
命令详解
列出所有可用的元素 这是最常用的命令,用来查看 Bartender 能识别到的所有菜单栏项目及其名称。
bartender list
输出示例:
Element: Wi-Fi
Element: Battery
Element: Clock
Element: Spotlight
Element: MenuMeters
...
注意: 你需要在这里记下或复制你想要操作的元素的准确名称(包括大小写)。
显示或隐藏特定元素 这是最核心的功能。
- 显示一个元素("Wi-Fi"):
bartender show "Wi-Fi"
- 隐藏一个元素("Battery"):
bartender hide "Battery"
- 切换元素的显示状态(如果显示则隐藏,如果隐藏则显示):
bartender toggle "Clock"
重新排列菜单栏图标
你可以通过 bartender reorder 命令来改变图标的顺序,这个功能非常强大,可以实现完全自动化的菜单栏布局。
- 按指定顺序重新排列:
你需要提供一个元素名称的列表,用空格隔开,这个列表就是新的从左到右的顺序。
# 将 Wi-Fi 放在最左边,然后是 Clock,最后是 Spotlight bartender reorder "Wi-Fi" "Clock" "Spotlight"
- 重要提示:这个命令会完全覆盖你当前的菜单栏顺序,Bartender 中没有显示的元素不会出现在这个列表里,建议先
bartender list查看所有元素,然后只排列你想要显示的元素。
- 重要提示:这个命令会完全覆盖你当前的菜单栏顺序,Bartender 中没有显示的元素不会出现在这个列表里,建议先
控制整个菜单栏
- 隐藏所有菜单栏图标(只显示 Bartender 的自定义菜单栏):
bartender hide all
- 显示所有菜单栏图标:
bartender show all
实用场景与自动化脚本
Bartender CLI 的真正威力在于与 macOS 的自动化工具结合使用。
根据电源状态切换布局
假设你使用笔记本电脑,你希望:
- 接通电源时:显示所有图标,包括电池。
- 使用电池时:隐藏电池图标,让菜单栏更简洁。
你可以使用 pmset 命令来检测电源状态,并结合 bartender。
-
创建一个脚本,例如命名为
bartender-power.sh:#!/bin/bash # 获取当前电源状态 # AC attached: 1, Battery: 0 POWER_STATE=$(pmset -g batt | grep "Battery Power" | wc -l) if [ "$POWER_STATE" -eq 0 ]; then # 接通电源,显示所有 echo "Power adapter connected. Showing all items." bartender show all else # 使用电池,隐藏电池 echo "On battery. Hiding Battery icon." bartender hide "Battery" fi
-
给脚本添加执行权限:
chmod +x bartender-power.sh
-
设置自动化:
-
使用 Automator(自动操作)
- 打开 Automator,创建一个新的“快速操作”。 2 在搜索框中找到“运行 Shell 脚本”,并将其拖到右侧工作区。
- 将上面的脚本内容粘贴进去,并将
bartender替换为脚本的完整路径(如./bartender-power.sh)。 - 保存,比如命名为 "Toggle Bartender for Power"。
- 你可以通过 Spotlight 或 Alfred 快速运行这个操作。
-
使用第三方工具(如
yabai或Hammerspoon) 这些窗口管理工具通常支持在特定事件(如电源状态改变)时触发脚本。
-
一键切换“工作模式”和“休闲模式”
创建两个脚本,一个用于工作,一个用于休闲。
work-mode.sh (工作模式 - 显示所有专业工具)
#!/bin/bash bartender reorder "Slack" "Zoom" "Wi-Fi" "Clock" "VPN"
leisure-mode.sh (休闲模式 - 只显示系统图标)
#!/bin/bash bartender reorder "Wi-Fi" "Battery" "Clock" bartender hide "Slack" bartender hide "Zoom" bartender hide "VPN"
然后你可以将这两个脚本绑定到快捷键上,实现一键切换。
注意事项和故障排除
- Bartender 必须运行:所有
bartender-cli命令都要求 Bartender 5 的图形界面应用正在运行,Bartender 关闭了,CLI 命令将无效。 - 元素名称是关键:
bartender list输出的名称是唯一的,必须完全匹配(包括空格和大小写),如果命令不生效,请首先检查名称是否正确。 - 权限问题:确保你的终端有足够的权限执行这些命令,如果你遇到权限错误,可以尝试在命令前加上
sudo,但这通常是不必要的。 - 脚本路径:在脚本中调用
bartender时,确保使用了正确的路径,或者你已经成功设置了别名。
bartender 命令行工具是 Bartender 5 的高级功能,它将菜单栏管理从手动拖拽提升到了自动化和脚本化的新高度,对于追求效率和高度定制化的 macOS 这是一个非常强大且灵活的工具,花点时间熟悉 list 和 show/hide/reorder 命令,你就能创造出完全符合你工作流和喜好的菜单栏布局。
