저는 다음과 같은 작은 쉘 스크립트를 작성하고 있습니다.
curl -X POST --header 'Bearer "$(printf user:pass | base64)"' 'https://api.com/v1/auth'
디버깅을 위해 echo로 전환합니다.
echo 'Bearer "$(printf remote-key-sync:2klic-hlqDZPGmqJTwhqVkPubld9ReXAnQSks | base64)"'
그러나 결과는 다음과 같습니다.
Bearer "$(printf remote-key-sync:2klic-hlqDZPGmqJTwhqVkPubld9ReXAnQSks | base64)"
--header 'Bearer myBase64String'을 전송하고 하위 쉘 결과를 작은따옴표 안에 넣도록 컬 명령을 업데이트하려면 어떻게 해야 합니까?
답변1
코드를 리팩터링하는 것부터 시작하세요.
bearer="Bearer \"$(printf user:pass | base64)\""
curl -X POST --header "$bearer" 'https://api.com/v1/auth'
이제 디버그할 때 매개변수를 다시 인용할 필요가 없습니다.
echo curl -X POST --header "$bearer" 'https://api.com/v1/auth'