2017-10-19 1 views
0

난`은 다음과 같은 방법으로 고정 표시기의 CLI 명령을 사용하여 변수를 추가하려고탈출 아포스트로피가

bash: -c: line 0: unexpected EOF while looking for matching `"'

bash: -c: line 1: syntax error: unexpected end of file

을 하나를 수행하면 나는 어떤 오류가 없습니다

docker exec -u root airflowdags_webserver_1 bash -c "airflow variables --set my_var '{\"test\": \"test\`2\"}'" 

또는

을 :이 명령의
docker exec -u root airflowdags_webserver_1 bash -c "airflow variables --set my_var '{\"test\": \"test2\"}'" 

"test'2"값에서 어포 스트로피를 피하여 오류를 피할 수 있습니까?

답변

1

bash 작은 따옴표 붙은 문자열 에는 작은 따옴표가 포함되어 있지 않습니다.에는 작은 따옴표가 포함될 수 없습니다. 당신은 그것을 벗어날 수 없습니다. (참고 https://www.gnu.org/software/bash/manual/bashref.html#Single-Quotes)

이 시도 :

bash -c "airflow variables --set my_var '{\"test\": \"test'\''2\"}'" 
# .......................................1.................1..2....2 

나는 일치하는 단일 인용 문자열 번호. 중간에 리터럴 작은 따옴표가 있습니다.