>

솔루션 https : //unix.stackexchange의 지침을 따랐습니다. PS1을 설정하는 방법에 대한 com/questions/105958/terminal-prompt-not-wrapping-correctly 그러나 내 문제는 명령이 너무 길어서 화면을 감싸는 것과 관련이 없습니다. 대신 명령 행에서 명령을 관리하는 이전 명령에서 나온 결과 인 것 같습니다.

Amazon EC2 Ubuntu 16.04 인스턴스를 시작할 때 기본 .bashrc를 사용하고 있습니다.

이 일련의 단계로 인해 명령 행이 엉망이됩니다 :

먼저 이것을 실행하십시오 :

curl -X GET http://parisx:9200/_cat/indices

그런 다음 :

curl -X DELETE http://parisx:9200/.monitoring-es-6-2019.02.16

이것은 이미 "ubu"라고 표시되어 되돌아 오는 명령이 이미 화면을 엉망으로 만들었다는 것을 보여줍니다.

끝에.

{"acknowledged":true}ubu

그런 다음 위로 스크롤하면 다음 명령이 엉망이됩니다 :

GET http://parisx:9200/_cat/indicesoring-es-6-2019.02.16

그러나 여전히 작동합니다. 즉, 엉망으로 만 나타납니다. 그러나 실제로 실행할 때와 같은 올바른 명령이며이 기록을 확인하면이를 보여줍니다. 따라서 표시되는 것만 실행할 것을 반영하지 않습니다.

curl -X GET http://parisx:9200/_cat/indices

여기에 PS1이 있습니다 :

echo $PS1
\[\e]0;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

  • 답변 # 1

    설명

    마지막 줄 바꿈없이 문서를 생성하여 잘못된 일을하는 것은 ElasticSearch입니다. UNIX 텍스트 파일은 줄 바꿈구분자가 아닌 줄종료 자로 줄 바꿈을 사용합니다. Windows에서 사용됩니다).

    호출하는 프로그램이 잘 동작한다고 가정하고가장 왼쪽 열에 커서를 두십시오. curl 의 결과  기대를 깨뜨리고 있습니다.

    <시간> 솔루션 <시간> 프롬프트를 사용하여 줄 바꿈이 아닌 출력을 덮어 쓰기

    한 가지 방법은 PS1 를 수정하는 것입니다  캐리지 리턴을 명시 적으로 앞에 추가하기 위해 프롬프트가항상인쇄되어 앞줄에서 끝나지 않은 이전 명령의 출력을 덮어 씁니다 :

    PS1=$'\\[\r\\]'"$PS1"
    
    

    <시간> 프롬프트 전에 개행을 입력하고 출력을 유지

    또 다른 방법은 프롬프트 앞에 개행을 추가하여 올바르게 동작하는 명령 뒤에 공백을 추가하고 올바르게 동작하지 않는 명령의 출력 뒤에 즉시 프롬프트를 표시하는 것입니다.

    PS1=$'\\[\n\\]'"$PS1"
    
    

    <시간> 잘 작동하지 않는 프로그램의 출력 캡처 및 복구

    또 하나는 curl 를 캡처하는 것입니다 의 출력을 표시하고 아직 없으면 개행을 추가하여 출력합니다. 다음과 같이 보일 것입니다 :

    printf '%s\n' "$(curl -X GET http://parisx:9200/_cat/indices)"
    printf '%s\n' "$(curl -X DELETE http://parisx:9200/.monitoring-es-6-2019.02.16)"
    
    

    ... $(...) 로 인해 줄 바꿈이 이미 존재하는 경우 줄 바꿈이 추가되지 않습니다.  캡처하는 동안 줄 바꿈 개행을 다듬습니다.

    <시간> 단지 echo 를 추가하십시오

    물론 잘못된 명령을 알면 물론 echo 를 추가 할 수 있습니다. 그들 만 :

    curl -X GET http://parisx:9200/_cat/indices; echo
    curl -X DELETE http://parisx:9200/.monitoring-es-6-2019.02.16; echo
    
    

    ... 오버 헤드와 부작용이 적은 동일한 문제를 해결합니다.

  • 이전 "class orgjfreechartJFreeChart를 초기화 할 수 없습니다"예외를 발생시키는 Jenkins의 성능 그래프
  • 다음 javascript - 상태를 직접 변경하지 마십시오 setstate () 사용