带有括号和pipe道的Multiline Windows shell命令

我试图在Windows上用OpenSSLencryption一些表单数据,我很难弄清楚什么是正确的语法。 使用下面的命令,OpenSSL返回一个PKCS7消息,但是& was unexpected at this time消息仍然给我一个& was unexpected at this time

 (openssl smime -sign -signer client-public.pem -inkey client-private.pem -outform der -nodetach -binary^ formkey1=formvalue1^ formkey2=formvalue2^ formkey3=formvalue3^ ^ ^ ) | openssl smime -encrypt -des3 -binary -outform pem server-public.pem 

我觉得我的pipe道在那里引起了一些问题,但是我不知道我该怎么做才能有一个干净的,没有错误的结果。

没有必要把它分成多行。
所以你应该首先测试它是否在一条线上工作。

然后你可以使用多行插入符,但不要忘记在下一行添加一个空格,否则它将粘贴完整的文本在一起没有任何分隔符。
而在右括号之前的插入符号将会失败,因为多行脱字符将转义下一行的第一个字符,所以右括号不会关闭任何内容。

这应该工作

 (openssl smime -sign -signer client-public.pem -inkey client-private.pem -outform der -nodetach -binary^ formkey1=formvalue1^ formkey2=formvalue2^ formkey3=formvalue3^ ^ ^ ) | openssl smime -encrypt -des3 -binary -outform pem server-public.pem