여러 말 할 수 있습니다, 그것은 따라서 큰 따옴표로 묶어야합니다 :
curl -u "$USER:$PASS" --request POST \
--data '{"title": "'$BRANCH_NAME'", "body": "'"$DESCRIPTION"'", \
"head": "'$OWNER':'$BRANCH_NAME'", "base": "develop"}' \
https://api.github.com/repos/$OWNER/$REPO_NAME/pulls
그건 사소한 일이지만, "'"$DESCRIPTION"'"
섹션은 작은 따옴표로 묶인 값인 --data
안에 큰 따옴표가 있습니다. 작은 따옴표가 잠시 (일시적으로) 닫힌 다음 "$DESCRIPTION"
주위에 큰 따옴표가있는 경우 새로운 작은 따옴표로 묶인 섹션의 시작이 있고 첫 번째 문자는 큰 따옴표입니다.
일관성과 미래 교정에 대한
, 당신은 또한 유사하게 다른 변수를 포위한다 :
curl -u "$USER:$PASS" --request POST \
--data '{"title": "'"$BRANCH_NAME"'", "body": "'"$DESCRIPTION"'", \
"head": "'"$OWNER"':'"$BRANCH_NAME"'", "base": "develop"}' \
https://api.github.com/repos/$OWNER/$REPO_NAME/pulls
한번에 모든 쉘 변수 값에 단일 및 이중 모두 따옴표를 방지하기 위해; 너는 그런 따옴표에 관하여 고민해야하는 경우에 그것을 악몽에게 권리 얻는있을 것이다. (Y) 뇌 (들)에 대한 안전 할 것이다 shell여기-문서를 사용
내가 (은' "$ 주위에 따옴표를 제외하고, 대안을 좋아하는 것을 의미 ...) "부분; 나는 그들이'printf' 논쟁의 혼란을 가져올 것이라고 생각한다. 가장 바깥 쪽 큰 따옴표를 생략하면됩니다. –
아니요, 그렇지 않습니다. 생략하는 것은 아마 안전하지만 항상 인용하는 것을 선호합니다. –
감사합니다. Bash 인용은 끝이 될 것입니다. 그리고 저는 두 번째 모범을 마음에 새기고 있습니다. –