답변1
이를 사용하여 rlwrap
거의 모든 명령줄 프로그램(셸 스크립트 포함)에 readline 지원(완성 및 기록/호출 포함)을 추가할 수 있습니다.
자세한 내용은 참고자료를 참조 man rlwrap
하고, rlwrap 사용에 대한 보다 구체적인 조언이 필요한 경우 최소한의 예제 셸 스크립트를 포함하도록 질문을 편집하세요.
rlwrap
대부분의 Linux 배포판에 대해 이미 패키지되어 있으며 다음에서 소스 코드를 찾을 수 있습니다.https://github.com/hanslub42/rlwrap
그런데 debian rlwrap 패키지의 설명 필드에는 다음이 표시됩니다.
Description-en: readline 함수 명령줄 래퍼 이 패키지는 GNU readline 라이브러리를 사용하여 다른 명령에 대한 키보드 입력을 편집할 수 있는 작은 유틸리티를 제공합니다. 입력 기록은 각 명령에 대해 개별적으로 호출 전반에 걸쳐 기억됩니다. bash에서와 같이 기록 완료 및 검색 작업이 완료 단어 목록을 명령줄에 지정할 수 있습니다.
그런데 매뉴얼 페이지에 언급된 한 가지 유용한 내용은 다음과 같습니다.
쉘 스크립트에서는 읽기 대신 "원샷" 모드에서 rlwrap을 사용하십시오.
order=$(rlwrap -pYellow -S 'Your pizza? ' -H past_orders -P Margherita -o cat)
이것은 다음과 같은 것을 대체하는 역할을 할 것입니다.read -p 'Your order? ' order