![파일 내용을 인코딩하여 한 줄로 표시합니다.](https://linux55.com/image/168122/%ED%8C%8C%EC%9D%BC%20%EB%82%B4%EC%9A%A9%EC%9D%84%20%EC%9D%B8%EC%BD%94%EB%94%A9%ED%95%98%EC%97%AC%20%ED%95%9C%20%EC%A4%84%EB%A1%9C%20%ED%91%9C%EC%8B%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
출력을 다른 위치에 복사할 수 있도록 base64 인코딩을 사용하여 키 및 인증서 파일의 내용을 에코하려고 합니다.
이 스레드를 찾았습니다.파일 내용을 echo 명령으로 리디렉션하시겠습니까?파일 내용을 에코하는 방법을 보여주고 인코딩을 위해 줄 바꿈을 유지하는 방법을 찾습니다. 그러나 추가하면 | base64
출력이 여러 줄로 분할되고 두 번째 줄을 추가하려고 하면 echo
개행 문자가 공백으로 대체됩니다.
$ echo "$(cat test.key)" | base64
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZB
QVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFF4Tkh0aHZvcEp1Z0EKOHBsSUNUUU1pOGMwMzRERlR6Z1E5
ME5tcE5zN2hRczNQZ0QwU2JuSFcyVGxqTS9oM1F1QVE0Q1dqaHRiV1ZUbgpSREcveGxWRFBESVVV
MzB1UHJnK0N6dlhOUkhzQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
$ echo $(echo "$(cat test.key)" | base64)
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZB QVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFF4Tkh0aHZvcEp1Z0EKOHBsSUNUUU1pOGMwMzRERlR6Z1E5 ME5tcE5zN2hRczNQZ0QwU2JuSFcyVGxqTS9oM1F1QVE0Q1dqaHRiV1ZUbgpSREcveGxWRFBESVVV MzB1UHJnK0N6dlhOUkhzQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
원하는 출력은 다음과 같습니다.
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFF4Tkh0aHZvcEp1Z0EKOHBsSUNUUU1pOGMwMzRERlR6Z1E5ME5tcE5zN2hRczNQZ0QwU2JuSFcyVGxqTS9oM1F1QVE0Q1dqaHRiV1ZUbgpSREcveGxWRFBESVVVMzB1UHJnK0N6dlhOUkhzQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
이 결과를 어떻게 얻을 수 있습니까?
답변1
다음과 같이 base64의 -w 옵션(개행)을 사용하십시오.
... | base64 -w 0
값이 0이면 줄 바꿈이 비활성화됩니다.
답변2
모든 버전의 base64가 이 플래그(OSX)를 지원하는 것은 아니지만 다음을 -w 0
사용하여 이 옵션과 동일한 효과를 생성할 수 있습니다.-w 0
cat test.key | base64
출력은 gitlab 변수 등에서 사용할 수 있습니다.
답변3
언급한 대로 모든 Base64 버전이 -w
플래그(https://www.fourmilab.ch/webtools/base64/).
이것은 나에게 효과적입니다.
base64 -e test.key | tr -d '\n\r'