Bash 脚本不允许创建/使用变量

Bash 脚本不允许创建/使用变量

我目前对 bash 脚本尝试使用 xdotool 将 MIDI 输入转换为击键的问题感到不知所措。

#!/bin/bash
aseqdump -p "USB MIDI cable" | \
while IFS=" ," read src ev1 ev2 ch label1 data1 label2 data2 rest; do
    case "$ev1 $ev2 $data1" in
        "Note on 48" ) if[$octave=0] 
                         then 
                           xdotool key 9; octave=1 
                       elif[$octave=1] 
                         then xdotool key 1 
                       else 
                           xdotool key 0; octave=1 
                       fi ;;
        "Note on 36" ) xdotool key 9; octave=0 ;;

    esac
done

对于我的问题:如果我正确理解创建变量,那么按下负责“Note 36”的键应该将八度设置为0,尽管“Note 48”上的if语句无法识别它。另外甚至使用更简单的

if[$octave=1] then xdotool key 1 fi ;;

不适用于提供的变量。

所以最终脚本应该做的是将来自设备的 MIDI 输入转换为击键,尽管根据事先按下的键,相同的键应该输出不同的击键。

附加信息

  • 我目前在 Ubuntu 22.04 上运行
  • 到目前为止,密钥已正确读取和翻译,只有变量会产生问题

相关内容