Dash - 이상한 경로 문자를 피하는 방법

Dash - 이상한 경로 문자를 피하는 방법

다음과 같은 이상한 디렉터리가 생성된 경우:

a"␤

b"

Bash 또는 zsh에서는 다음을 수행할 수 있습니다: cd a$'\n'b 또는 cd 'a'$'\n''b'

대시는 무엇과 같나요?

답변1

이에 상응하는 유일한 내용은 기본적으로 귀하가 작성한 내용입니다.

cd a"
"b

(또는 따옴표의 다른 순열). 문자열 리터럴은 줄 바꿈을 포함한 공백을 포함할 수 있으며 포함된 단어의 일부로 리터럴을 유지합니다. 백슬래시를 개행 문자로 사용할 수 없습니다.개행 연결개행 문자를 완전히 제거하므로 작은따옴표나 큰따옴표를 선택할 수 있습니다.

이 경우 다음을 사용할 수도 있습니다.명령 대체예를 들어printf동일한 \n이스케이프 시퀀스를 처리합니다.

cd "a$(printf '\nb')"

결승전 b은 필수내부에printf후행 개행 문자는 명령 대체를 통해 제거되므로 파일 이름이 실제로 개행 문자로 끝나는 경우에는 작동하지 않습니다. \aBEL 바이트 와 같은 다른 이스케이프에도 사용할 수 있습니다 .

$'...'ANSI-C 참조에 대한 직접 POSIX 또는 대시에 해당하는 항목은 없습니다(하지만).

관련 정보