![Linux 명령에서 개행 문자 사용](https://linux55.com/image/172643/Linux%20%EB%AA%85%EB%A0%B9%EC%97%90%EC%84%9C%20%EA%B0%9C%ED%96%89%20%EB%AC%B8%EC%9E%90%20%EC%82%AC%EC%9A%A9.png)
명령줄에서 명령을 실행하려고 합니다(원격 Ubuntu 시스템의 moba xterm에 복사하여 붙여넣기만 하면 됩니다). 명령에 개행 문자가 포함되어 있으므로 $(command)를 사용하기로 결정했습니다. 이것은 내가 시도하는 명령입니다.
docker build -t mytag --build-arg SSH_PRIVATE_KEY=$(cat <<EOF
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAy8QlGkj4OoK4/i3Sxhpag4k/S/SsDzjMwqM2Sc5qeE2EpuqH
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
KaAM3nF1tnWa1YhDRxOGaq6386hEdB/i05ZFdLjfSALo56UN7mC5
-----END RSA PRIVATE KEY-----
EOF
) .
어떻게든 ssh 키를 명령에 붙여넣어야 합니다. 위의 명령은 작동하지 않습니다.
bad flag syntax: -----END
See 'docker build --help'.
답변1
키는 여러 단어로 구성되므로 명령 대체는 따옴표로 묶어야 합니다.
docker build -t mytag --build-arg SSH_PRIVATE_KEY="$(cat << EOF
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAy8QlGkj4OoK4/i3Sxhpag4k/S/SsDzjMwqM2Sc5qeE2EpuqH
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^%&(&)@#$%$#^$%&^%*&^*&^
KaAM3nF1tnWa1YhDRxOGaq6386hEdB/i05ZFdLjfSALo56UN7mC5
-----END RSA PRIVATE KEY-----
EOF
)" .