"if" 명령에 대한 변수로 키 입력 지정

"if" 명령에 대한 변수로 키 입력 지정

계속하기 전에 설정 메뉴를 통해 키보드 단축키를 구성할 수 있지만 최종 목표에는 유용하지 않다는 점을 명심하세요.

단일 키 누르기를 입력으로 사용하고 작업을 수행하는 간단한 스크립트를 만들려고 합니다. 이상적으로는 키를 누를 때 명령을 실행하고 싶습니다 up.

예를 들어 통합할 수 있지만 x핵심은 다음과 같습니다.

echo "press key"
read -sn 1 key
if [ "$key" == "x" ]; then echo "x"; fi

이 예에서 키를 사용하는 방법을 알아내려고 합니다 up. 이것이 가능합니까?x

답변1

이 시도:

#! /usr/bin/env bash

read -p "press key " -sn 1 key 
#you can use -p "Message" instead of using echo "Message" before.

if [ "$key" == $'\x1b' ]; then
   
   read -sn2 chars

   if [[ $chars = '[A' ]];then
      echo You pressed 'Up' key
   fi
else 
   echo Pressed another key
fi

Up keyRight key, , 등 Left key의 키를 입력하면 문자열 Down KeyFn+N생성됩니다 x1\b. 따라서 변수에 문자열이 포함되어 있는지 확인해야 합니다. 그렇다면 다음 두 문자를 읽어야 합니다.

  1. [A위쪽 키의 경우
  2. [C마우스 오른쪽 버튼 클릭
  3. [B다운 키용
  4. [D왼쪽 클릭의 경우

관련 정보