특정 문자가 문자열을 끊는 bash 스크립트에서 컬 매개변수 사용

특정 문자가 문자열을 끊는 bash 스크립트에서 컬 매개변수 사용

나는 그것을 알아낼 수 없다.

나는 이것을 가지고있다:

id=$(curl -s --data "content=${1}&comment=${dtime}&mode_name=JavaScript" \
        https://paste.merkoba.com/save.php | jq -r '.url')

내용은 다음과 같습니다.

#[derive(Debug, Clone)]
struct Main<'a>
{
    point: &'a Point,
    letter: char
}

내용에 & 문자가 있기 때문에 컬 문자열이 끊어집니다.

콘텐츠를 이스케이프된 문자열로 변환하려면 어떻게 해야 하나요? 아니면 컬 명령이 제대로 작동하도록 형식을 지정하려면 어떻게 해야 하나요?

답변1

--data각 부분에 a를 사용하는 대신 . 컬은 값 부분을 인코딩하고 중간 부분을 추가합니다.--data-urlencodevar=value&

curl \
--data-urlencode "content=${1}" \
--data-urlencode "comment=${dtime}" \
--data-urlencode "mode_name=JavaScript" ...

(GET에도 동일하게 적용됩니다. 옵션만 추가하면 됩니다 -G).

관련 정보