Bash는 특수 문자를 대체합니다.

Bash는 특수 문자를 대체합니다.

내가 읽은 질문과 답변 중 어느 것도 나를 위한 해결책이 아닙니다. 그래서 제가 하고 싶은 것은 'bash에서 특수 문자를 바꾸는 것입니다.

이것은 작동합니다:

A="abc"
B="${A//[b]/x}"

하지만 이것은 작동하지 않습니다.

A="a'b"
B="${A//[']/\'}"

또한 다음도 시도했습니다.

B="${A//[']/\\'}"
B="${A//[']/\\\'}"
B="${A//[']/\'''}"
B="${A//[']/'\\''}"

그러나 B여전히 그럴 것이다 a'b.

답변1

이 방법은 작동합니다:

A="a'b"
B="${A//\'/\\\'}"

두 가지 참고사항:

  1. []문자가 하나만 있는 경우에는 필요하지 않습니다.
  2. 탈출 \해서 '대체자를 입력해야 합니다.

관련 정보