파이프 명령 출력을 변수로

파이프 명령 출력을 변수로

JSON 파일을 생성하기 위한 작은 스크립트를 작성하려고 합니다. SSL 인증서를 이 json에 저장해야 하므로 CRT/KEY 파일을 필요한 형식으로 변환해야 합니다.

다음 결과를 저장하는 솔루션이 있습니까?

cat $domain.key | sed s/$/\\n/ | tr -d '\n'

변수 내(bash.script)

input_key=`cat $domain.key | sed s/$/\\n/ | tr -d '\n'`

cat(-: 뒤에 "sed"를 실행하지 마세요.

답변1

이렇게 하세요:

input_key=$(cat ${domain}.key | sed 's/$/\\n/' | tr -d '\n')

귀하의 예에서는 작동 sed하지만 정규식 비트의 내용이 셸에서 해석되고 있다고 생각합니다. 쉘 해석을 방지하려면 정규식을 작은따옴표로 묶어야 합니다. 다음 사항도 적용됩니다.

input_key=`cat ${domain}.key | sed 's/$/\\n/' | tr -d '\n'`

관련 정보