如何通知发送长命令?

如何通知发送长命令?

我想使用 notification-send 每 n 分钟显示一条通知,告诉我 VPN 状态。

该命令将在我已经设置的弹出终端中运行,从视图中隐藏,直到我需要停止 while 循环,然后我只需执行 ctrl-c 即可。

我写了下面的命令,但它无限错误:Invalid number of options.

while true
do
    notify-send $(timeout 5s nordvpn status | rg -i "status|country|uptime" ; nordvpn settings | rg -i "kill switch|auto-connect")`
done

timeout 5s是因为有时nordvpn没有响应,我需要在5秒后终止该命令。

感谢您的协助。

答案1

该命令接受一个或两个参数:

SYNOPSIS
       notify-send [OPTIONS] {summary} [body]

因此,您只需将命令的结果用双引号引起来:

while :; do
    notify-send "$(command)"
done

相关内容