2016-06-21 59 views
0

对于下面的代码,我希望能够按住一个按钮,然后按另一个执行脚本,如“Ctrl”+“upArrow”组合键。我猜想某种'按键'和'按键'功能是我所需要的。有任何想法吗 ?阅读与bash脚本的组合键

#!/bin/bash 
    read -rsn1 input 
    while [ "$input" = "a" ]; do 
     read -rsn1 input2 
     if [ "$input" = "b" ]; then #spaces are important for control flow in bash-script 
      echo "Rest in pepperoni memeroni"; 
     fi 

    done 
+0

您可以在此示例中使用功能键: – tale852150

回答

3

要使用快捷键,请使用bash bind命令。

例如:使用F6功能键清除屏幕

bind '"\e[17~":"clear\n"' 

当然,你将与你的脚本替换clear

要找出F6符号是什么,只需输入read命令并按F6

enter image description here

注:在屏幕上拍摄的^[是在代码中\e

+0

为了激活代码序列,我编辑了我的帖子,我特别想要将控制按钮与箭头键结合使用。为了这一点,将会为此工作绑定吗? – timi95

+0

是的,它会工作。我测试了CNTL-Left_Arrow,它是代码^ [OD,我上面的例子仍然有效。所以你会'绑定'“\ eOD”:“your_script \ n”'' – tale852150

+0

如果有人问,当你的登录会话结束时,这些'绑定'被删除。为了使它们在会话间保持永久性,请将'bind'命令放入bash终端会话/登录脚本(例如'.bashrc'脚本)中。 – tale852150