printf 将逗号打印到文件
printf prints commas to file
我有一个环境变量,它被打印到一个文件中,然后由我的程序读取。当变量被写入文件时,它看起来像这样:
-----BEGIN
,RSA
,PRIVATE
,KEY-----
,MIIEowIBAAKCAQEAtxPgpPqD1cZdoTeOMvOnqp0NkkCqcMsn8V4j9KrFWpPxiweu
,H1r69S2ssmuqtleLVKk2kwgTn6x+AvcqgTBLsjnfpPmD2mBKvTqCvaBT2VXdxGiA
,dlp etc....
什么时候应该是这样的:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtxPgpPqD1cZdoTeOMvOnqp0NkkCqcMsn8V4j9KrFWpPxiweu
H1r69S2ssmuqtleLVKk2kwgTn6x+AvcqgTBLsjnfpPmD2mBKvTqCvaBT2VXdxGiA
dlpJMJAvCwBsDnDRilSRoNja4DpF26bHSQePwZF1/4OqnF6GtvGcPPPENiJkjxr/ etc...
我的脚本命令如下所示:
- printf '%s\n', $PRIVATE_KEY > $CI_PROJECT_DIR/private.pem
我做错了什么?
printf '%s\n' "$PRIVATE_KEY" > "$CI_PROJECT_DIR"/private.pem
引用 "$PRIVATE_KEY"
以防止它被拆分成单独的词。根据经验,始终引用变量扩展以防止意外破坏它们的值。养成好习惯。
此外,删除 '%s\n',
中的尾随逗号。 Shell 脚本参数不是 comma-separated。
我有一个环境变量,它被打印到一个文件中,然后由我的程序读取。当变量被写入文件时,它看起来像这样:
-----BEGIN
,RSA
,PRIVATE
,KEY-----
,MIIEowIBAAKCAQEAtxPgpPqD1cZdoTeOMvOnqp0NkkCqcMsn8V4j9KrFWpPxiweu
,H1r69S2ssmuqtleLVKk2kwgTn6x+AvcqgTBLsjnfpPmD2mBKvTqCvaBT2VXdxGiA
,dlp etc....
什么时候应该是这样的:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtxPgpPqD1cZdoTeOMvOnqp0NkkCqcMsn8V4j9KrFWpPxiweu
H1r69S2ssmuqtleLVKk2kwgTn6x+AvcqgTBLsjnfpPmD2mBKvTqCvaBT2VXdxGiA
dlpJMJAvCwBsDnDRilSRoNja4DpF26bHSQePwZF1/4OqnF6GtvGcPPPENiJkjxr/ etc...
我的脚本命令如下所示:
- printf '%s\n', $PRIVATE_KEY > $CI_PROJECT_DIR/private.pem
我做错了什么?
printf '%s\n' "$PRIVATE_KEY" > "$CI_PROJECT_DIR"/private.pem
引用 "$PRIVATE_KEY"
以防止它被拆分成单独的词。根据经验,始终引用变量扩展以防止意外破坏它们的值。养成好习惯。
此外,删除 '%s\n',
中的尾随逗号。 Shell 脚本参数不是 comma-separated。