어떻게 사용할 수 있는지/사용할 것인지에 대한 예를 생각해낼 수 없습니다 lessecho
. 매뉴얼 페이지의 설명은 매우 간단하지만 사용 사례를 생각해 내는 데 실제로 도움이 되지는 않습니다.
설명하다
lessecho는 단순히 인수를 표준 출력에 반영하는 프로그램입니다. 그러나 출력의 모든 메타 문자 앞에는 기본적으로 백슬래시인 "이스케이프" 문자가 옵니다.
github에서 쉘스크립트를 검색했는데 이 명령의 사용법을 찾지 못했습니다. lessecho의 예를 한두 가지(또는 세 가지) 들어주실 수 있나요? 사용 사례는 다양할수록 좋습니다.
답변1
이것은 동반 프로그램입니다 less
. 이는 파일 이름 목록을 나타내는 와일드카드 패턴을 지정할 수 있는 명령에서 셸을 호출하기 위해 일부 구성(컴파일 시 결정됨)에서 내부적으로 사용됩니다: "검사"( :e
) 명령 및 기타 명령( -o
, -O
, -T
). 이상한 참조는 less
내부적으로 구문 분석되는 것입니다. not을 사용하는 lessecho
목적은 echo
파일 이름을 구분하는 데 사용되는 공백과 파일 이름의 공백을 구별하는 것입니다. 이 명령은 printf '%s\000'
더 적은 구문 분석 작업으로 동일한 목적을 달성하지만 여전히 작동하는 일부 고대 유니스에서는 사용할 수 없습니다.
현대 유닉스 시스템에서 라이브러리 함수를 less
호출하는 대신 이 메서드가 왜 사용되는지 모르겠습니다 .glob
답변2
주요 목표 lessecho
는 메타 문자를 탈출하는 것입니다. 하지만 함정은문자 없음기본적으로 메타 문자로 처리됩니다( -mx
옵션 설명서 참조). 따라서 -m
매개변수와 다른 결과를 보려면 옵션과 함께 메타 문자를 하나 이상 지정해야 합니다 .
콜론을 메타 문자로 사용하는 예:
$ lessecho -m: a:b
a\:b