2016-06-21 93 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