single quote에서 변수를 써야 하는 상황이 생길 수 있다.
예를 들어 curl을 이용해서 HTTP POST body를 사용해야 하는 상황입니다. (elasticsearch에 alias 추가 작업)
curl -s -XPOST http://${host}:9200/_aliases -d '{ "actions" : [ { "add" : { "index" : "${NEW_INDEX}", "alias" : "${ALIAS}" } }]}'
그냥 실행하면, "${NEW_INDEX}"와 ${ALIAS}를 읽지 못해서 에러가 발생한다.
그럴 때는 single quote와 double quote를 변수 앞에, dobule quote와 single quote를 변수 뒤에 붙여 쓴다.
echo 'aaaaa $NEW_INDEX bbbbbb'
echo 'aaaaa '"$NEW_INDEX"' bbbbbb'
결과
aaaaa $NEW_INDEX bbbbbb
aaaaa sns_profile bbbbbb
맨 처음 es 요청하는 것은 다음과 같이 사용하면 잘 동작한다.
curl -s -XPOST http://${host}:9200/_aliases -d '{ "actions" : [ { "add" : { "index" : '"\"${NEW_INDEX}\""', "alias" : '"\"${ALIAS}\""' } }]}'
'unix and linux' 카테고리의 다른 글
setuid 동작 결과를 ps로 확인하기(ruser, euser) (0) | 2016.04.28 |
---|---|
[nginx] echo > sudo 파일 권한 (0) | 2016.04.25 |
netstat과 watch으로 모니터링 잘하기 (0) | 2016.03.09 |
[awk] awk에서 외부 변수 사용하기 예시 (0) | 2016.02.26 |
sort를 이용해서 여러 필드 및 숫자 필드 정렬하기 (0) | 2016.02.23 |