Командный сценарий музыкальной последовательности Hot Corners

Я пишу сценарий, который использует горячие углы для воспроизведения определенных музыкальных нот при наведении на углы и в зависимости от музыкальной последовательности для выполнения определенной команды.

Сценарий вызывается с параметром -d из нижнего левого угла, -e из b-правого, -g из верхнего левого, -b из верхнего правого, добавляет последовательность в файл (~ / bin / for_hot) и сравнивает последовательность с моим ассоциативным массивом. Воспроизведение успешного мюзикла B '', когда последовательность распознана.

2 вопроса:

Иногда команды не выполняются, даже если воспроизводится успешный звук;

Я не знаю не удается отключить питание. [Решено]

Я думаю, что я не отслеживаю процессы адекватно после этого (kill, background), а также файл (~ / bin / for_hot), который я добавляю, может быть не записан вовремя.

Вот сценарий, пожалуйста, обратите внимание, что я noob в Linux, поэтому не ненавидите мой код, мой вопрос, меня слишком много:

#!/bin/bash

#switch###############################
case "$1" in
-d) play -q -n synth 3 pluck 293.665 &
sleep 0.5
echo -n "d" >> ~/bin/for_hot;
;;
-e) play -q -n synth 3 pluck 311.127 &
sleep 0.5
echo -n "e" >> ~/bin/for_hot;
;;
-g) play -q -n synth 3 pluck 391.995 &
sleep 0.5
echo -n "g" >> ~/bin/for_hot;
;;
-b) play -q -n synth 3 pluck 466.164 &
sleep 0.5
echo -n "b" >> ~/bin/for_hot;
;;
esac
######################################

#midi mappings########################
declare -A commands
commands=( 
["egbd"]="firefox -n" 
["ebgb"]="idea" 
["ebb"]="notify-send "$instr "" 
["egdgb"]="echo pass | sudo -S poweroff"
["ee"]="nemo /home/mintbwoy");
######################################


s=$(<~/bin/for_hot);

for pattern in "${!commands[@]}";
do
echo "$pattern - ${commands["$pattern"]}";

if [[ "$s" == *"$pattern"* ]]
then
echo -n "" > ~/bin/for_hot;
play -q -n synth 3 pluck 932.328 &
var=$(${commands["$s"]});
$var;
notify-send "[$pattern] = ${commands["$pattern"]} "$var"";
fi

done
######################################
1
задан 3 May 2016 в 15:05

1 ответ

Я использовал оценку для выполнения команды и:

var= $ ($ {команды [" $s"]}) был изменен на

var= $ ($ {команды [" $pattern"]}) , потому что я отсылал содержание файла вместо фактического шаблона.

0
ответ дан 4 May 2016 в 01:05
  • 1
    Это могло бы быть то, потому что Вы играли SSF... Приезжайте присоединяются к нам в Хардкоре Предвестника и игре как команда и you' ll оказываются в 92 и даже не понимают то, что произошло. – Adam Barnes 12 October 2017 в 01:08

Другие вопросы по тегам:

Похожие вопросы: