목록shell (2)
오늘도 한 뼘 더

# 배경 AWS Api Gateway에서 API의 아이디를 API 이름으로 불러오는 스크립트를 작성 중이었는데 실행하고 나니 다음과 같은 에러가 발생하였다. Error - unexpected EOF while looking for matching `'' # 문제 문제가 된 스크립트 API_ID=`aws apigatewayv2 get-apis \ --query 'Items[?Name==`'$API_NAME'`].ApiId' \ --output text` --query는 작은따옴표(')로 묶어줘야 하고 그 안의 값을 백틱(`)으로 감싸야하는데 값을 감싸는 부분에서 에러가 발생한 것이다. # 해결 방법 백틱(`)으로 감싸진 문자열에서 백틱을 사용할 때에는 백틱 앞에 \를 붙여줘야 한다. 그리고 겉의 백틱(`)..

shell script를 작성하면서 어떠한 조건에 따라서 변수만 달라지는 경우에 같은 내용을 하나의 스크립트로 작성을 하고 싶었고 shell script에서도 if문과 case문을 사용할 수 있다는 것을 확인했다. # if문 if문의 경우 if문 뒤에 조건을 [[ ]] 로 묶어서 작성한다. 조건문 뒤에는 ";"과 then을 붙여서 조건문에 맞을 경우의 문장을 작성한다. if문을 끝낼 때에는 fi를 마지막에 작성하여 끝낸다. else문은 if문이 다 끝나기 전에 안에 작성한다. #!/bin/bash if [[ $# == 0 ]]; then echo "Insert Variable" exit else echo "Hello this is script" exit fi # case 문 스크립트 실행 시 넘기는 첫 ..