쏘닉.log
로그인
쏘닉.log
로그인
WSL carriage return 버그
Xonic
·
2021년 12월 15일
팔로우
0
WSL
0
와 정말 어이없는 상황이 생겼다..
WSL의 vim을 사용하던 도중 생긴 버그..
new line(줄 바꿈)은 리눅스는 \n, 윈도우즈는 \r\n으로 표현된다.
이 건 둘째로 치고, 원래는 잘 되던 스크립트가 갑자기 내가 생각했던 결과로 수행되지 않았다.
문제의 파일
버그
내가 생각했던건 해당 파일의 이어쓰기(
>>
: 이어쓰기 및 없으면 생성)였는데
수행 되지 않고 생성 (
>
: 덮어쓰기 및 없으면 생성)이 되었다.
파일명이 \r 문자가 들어간걸 봐선 아무래도 carriage return 문자가 잘못 들어간듯 싶었다(오픈 카톡방에 질문 후 답변 주심)
해결
해당 파일을 cp등의 명령어를 사용하지 않고 문자만 복사해서 새로운 파일을 생성해서 저장한다.
본인이 사용한 방법
dos2unix 를 이용한다.
파일이 너무 많다면
find <target_directory_path> -type f -exec dos2unix {} \
를 이용해서 모두 unix 파일로 변경한다.
여담
갑자기 예상치 못했고, 왜 발생하는지도 몰랐던 현상에 대해 이해하게 되었다.
이게 WSL을 사용했을 때 나는 버그인지, 실제로 리눅스 등 유닉스 기반 O/S에서도 발생하는 버그인지 궁금하다.
혹시 본인도 이런 버그가 발생했거나 파일에 \r이 나도 모르게 포함되어 있는지 궁금하다면
od -bc <file path>
로 알아 볼 수 있다
예시)
Xonic
공부 한 것을 공유하는 블로그입니다.
팔로우
이전 포스트
네트워크 3편 네트워크 장비
다음 포스트
dev-meeting-study 토이프로젝트 회고글
0개의 댓글
댓글 작성