Всем привет! У меня установлены 2 звуковые карты. Настроил горячие клавиши для изменения громкости в i3wm. Для одной звуковой карты всё отлично (volnoti отображает изменение звука корректно):

bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer -c 2 sset Master 5%+ && volnoti-show $(amixer -c 2 get Master | grep -Po '[0-9]+(?=%)' | head -1)"
bindsym XF86AudioLowerVolume exec --no-startup-id "amixer -c 2 sset Master 5%- && volnoti-show $(amixer -c 2 get Master | grep -Po '[0-9]+(?=%)' | head -1)"
bindsym XF86AudioMute exec --no-startup-id "amixer -c 2 sset Master toggle && if amixer -c 2 get Master | grep -Fq '[off]'; then volnoti-show -m; else volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1); fi"

А вот для второй, при нажатии клавиши для отключения звука (XF86AudioMute), volnoti показывает, что звук отключён. Но при повторном нажатии (XF86AudioMute), также и отображается, что звук отключён (хотя должно быть предыдущее значение громкости):

bindsym $mod+XF86AudioRaiseVolume exec --no-startup-id "amixer -c 0 sset PCM 2%+ && volnoti-show $(amixer -c 0 get PCM | grep -Po '[0-9]+(?=%)' | head -1)"
bindsym $mod+XF86AudioLowerVolume exec --no-startup-id "amixer -c 0 sset PCM 2%- && volnoti-show $(amixer -c 0 get PCM | grep -Po '[0-9]+(?=%)' | head -1)"
bindsym $mod+XF86AudioMute exec "amixer -c 0 sset PCM toggle && if amixer -c 0 get PCM | grep -Fq '[off]'; then volnoti-show -m; else volnoti-show $(amixer -c 0 get PCM | grep -Po '[0-9]+(?=%)' | head -1); fi"

Если же отдельно запускаю amixer -c 0 get PCM | grep -Po '[0-9]+(?=%)' | head -1 , то показывает текущую громкость (что в принципе и должно быть).

Не очень понятно, почему же в первом случае всё нормально, а во втором нет (хотя настройки почти идентичны)?