zsh 출력의 끝에 추가되는 수수께끼 문자 이야기 (퍼센트)

2917 단어 Zsh

소개



요 전날 Donuts 씨의 Go 언어 공부회에 참가했을 때, golang의 출력 결과에 수수께끼의 문자가 출력되어 그것에 대해 씹었기 때문에 원인과 해결 방법을 바.

뭐가 있었어



golang의 출력 결과에 수수께끼의 문자(% percent 퍼센트 기호)가 출력되었다.

해당 코드

hoge.go
package main

import "fmt"

func main() {
    str := "text"
    fmt.Print(str)
}

원인 및 해결 방법



zsh는 출력 결과의 마지막이 개행되어 있지 않은 경우, zsh측에서 자동적으로 개행을 실시해 준다.
그리고, 그 때에 마음대로 개행한 것을 나타내는 기호로서 %가 출력된다.

시도에 bash에서 동일한 코드를 실행해 보자.



zsh와 달리 자동으로 개행되어 있지 않은 것을 알 수 있다.

시도에 golang 측에서 마지막으로 개행을 해 주자.

hoge.go
func main() {
    str := "text"
    fmt.Println(str)
}



알겠어요?

이 zsh가 마음대로 출력해주는 문자열은 $PROMPT_EOL_MARK 라는 환경 변수로 임의로 설정할 수 있다.


좋네요.

표시하고 싶지 않다고 생각하면 .zshrc에
export PROMPT_EOL_MARK=''

공문자를 설정해 주면 괜찮습니다.

현재 상태




좋은 웹페이지 즐겨찾기