배쉬 문제 Mac OS 터미널


1

안녕하세요. 위쪽 화살표를 눌러 이전 명령을 보았을 때 현재 명령을 반으로 다시 작성했습니다.

예:

21 /usr/local/sphinx/etc >  /usr/local/sphinx/bin/search --config /usr/local/sphinx/etc/sphinx-blog.conf php

위쪽 화살표를 누르면 다음과 같이 표시됩니다.

21 /usr/local/sphinx/etc >  /usr/local/sudo /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx-blog.conf --all

SUDO 이전의 "/ usr / local /"은 이전 명령에서 나온 것입니다. 문제가 어디 있는지 아십니까? 프롬프트 설정은 다음과 같습니다.

PS1="\# \e[32;1m\w > \e[0m "

BACKSPACE를 사용하면 최대 21 / usr / local / sphinx / etc> / usr / local /을 삭제할 수 있습니다. / usr / local /
vosy

read명령 행에서 간청 하고 위 화살표를 누를 수 있습니까? ( readCtrl + C로 종료 할 수 있습니다 ) 이론적으로 이것은 ^[[A또는 \e[A( 답변 ^[[B또는 \e[B아래쪽 화살표)를 제공해야합니다. 화살표 키에 바인드를 구성 했습니까 (예 : ~ / .bash_profile에서)?
Asmus

나는 그것을 시도18 ~ > /usr/local/read ^[[A^[[B^[[A^[[A^[[A^[[A^[[B^[[B^[[B
vosy

위 화살표를 한 번만 누르면 모든 캐릭터가 나타납니다 ?? 그렇다면 @Asmus가 정확하고 구성에 문제가 있습니다.
cm2

답변:


4

PS1에서 더 많은 이스케이프 시퀀스를 사용해야합니다.이 작동합니다.

export PS1="\# \[\e[32;1m\]\w > \[\e[0m\]"

추가 \[\]컬러 이스케이프 시퀀스를 래핑하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.