2011-09-09 3 views
1

새로운 트위스트 "-e를 읽기"에 협조하지 않는 것 내가 process_line.shRlwrap은 다소 일반적인 질문

rlwrap ./process_line.sh $INPUT 

를 호출 명령 기록을 구현 이제 여기에 트위스트가있다 : 나는 "read -e" 옵션이있는 경우, 나는 악영향 프리 필드 입력을 편집하지만 명령 기록이 없다, 할 수 있습니다, rlwrap의 옵션을 사용하여 명령 이력을 얻을 수는 있지만 미리 입력하지 않아야합니다 (즉, "read -i"은 실제로 아무 것도하지 않습니다).

질문은 물론 입력 사전 입력 및 편집 AND 명령 기록을 동시에 가질 수 있는지 여부입니다.

감사합니다.

답변

2

읽으려면 -e을 끕니다. 그런 다음 두 개의 readline 구현이 충돌하지 않습니다.

프롬프트를 표시하려면 -S "> "을 rlwrap에 전달할 수 있습니다.

+0

만약'-e'을 끄면 입력 편집을 잃어 버리게됩니다. '-S'가 무엇을 의미하는지 확신 할 수 없다. (Cygwin, bash 버전 4.1.10) –

+0

rlwrap은 라인 편집을 직접 지원한다. (그리고 rlwrap은 -S 인자를 가지고있다.) –

+0

죄송합니다. 나를 위해'-S'가 작동하지 않습니다 : 'rlwrap : 오류 : 알 수없는 옵션 - S 자세한 내용은 'rlwrap --help'를 시도하십시오' 당신은 다음과 같이 표시해야합니다? 'rlwrap -S $ INPUT./process_line.sh' –

1

이 사용 사례는 버전 0.25 이후의 rlwrap 설명서에 포함되어 있습니다. 그것이 정확히 어떻게되는지에 관해서는 rlwrap 버전에 조금 의존합니다. rlwrap 0.37에서

이처럼 수행이 방법의

장점이다

INPUT = $이 (">"-P $ 입력 고양이 rlwrap -o는 -S) 그 모든 입력 변수 수 (-f 옵션과 -H 옵션 사용)

cygwin 버전 (0.24)은 실제로 고대이지만 rlwrap을 컴파일하는 것은 쉽지 않습니다. 원하는 경우 정적 링크 된 버전을 빌드하고 (지시 사항은 INSTALL 파일 참조) 스크립트와 함께 배포 할 수 있습니다.

+0

나는 파이썬에서 이것을 구현하는 데 도움이되는 내 친구를 겁 먹게 만들었고 (누가 실제로 프로그래밍을하고 있는지) 알아 냈습니다. 이것은 무엇이든 이식성을 돕기위한 것이고, 이것 위에 GUI를 붙일 수있는 가능성을 더합니다. 나는 이것이 아마 스크립트와 함께 컴파일 된 rlwrap을 배포하는 것보다 더 복잡한 해결책이라는 것을 알고 있습니다. 그러나 취미로서 이것을합니다. 나는 상관하지 않는다! 어쨌든 고마워! –

관련 문제