Linux

如何通知發送長命令?

  • May 3, 2022

我想使用 notify-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 秒後終止命令。

謝謝你的幫助。

該命令採用一個或兩個參數:

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

因此,您只需將命令的結果用雙引號括起來:

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

引用自:https://unix.stackexchange.com/questions/701206