Сценарий переключения Wi-Fi не работает должным образом через i3

У меня есть следующая строка в моей ~/.i3/config :

 bindsym XF86WLAN exec ~/.i3/i3-scripts/toggle-wifi.sh 

toggle-wifi.sh :

 #!/bin/bash if nmcli nm wifi | grep -q "disabled" ; then nmcli nm wifi on notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled." else nmcli nm wifi off notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled." fi 

Сценарий отлично работает при работе с терминалом с ./toggle-wifi.sh но когда я запускаю его, используя привязку клавиатуры к i3, он только когда-либо разрешает Wi-Fi, никогда не отключается .

Странно, если я нажимаю клавишу, чтобы быстро запускать скрипт, он говорит, что Wireless disabled один раз. В противном случае он всегда говорит, что Wireless enabled .

Может ли кто-нибудь помочь или предложить какие-либо альтернативные сценарии, чтобы сделать то же самое?

Это звучит как условие гонки: другое приложение может анализировать один и тот же ключ для переключения Wi-Fi.

Это можно проверить, привязывая ваш скрипт к несвязанному ключу: если этот другой ключ заставляет ваш скрипт работать так, как ожидалось, тогда у вас есть условие гонки на XF86WLAN.