windows - 带括号和管道的多行 Windows shell 命令

标签 windows batch-file cmd command-prompt

我正在尝试在 Windows 上使用 OpenSSL 加密一些表单数据,但我很难弄清楚正确的语法是什么。使用以下命令,OpenSSL 返回一条 PKCS7 消息,但仍然给我一条 & was irreversible 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

我觉得我的管道在那里引起了一些问题,但我不知道应该做什么才能得到干净、无错误的结果。

最佳答案

无需将其拆分为多行。
因此,您应该首先测试它是否可以在单行上运行。

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

这应该有效

(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

关于windows - 带括号和管道的多行 Windows shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13702359/

相关文章:

windows - Control-Enter 是 Windows 上普遍接受的表示 "Accept"的快捷方式吗?

batch-file - 如何通过asp.net schtasks向bat文件传入参数

windows - 无法在Windows 10中通过SSH启动程序

windows - 我可以通过双击阻止执行 Windows 批处理文件吗?

c# - 如何在运行 exe 后关闭 cmd 窗口。从它的文件?

c - 使用C通过cmd将参数传递给正在运行的文件

c - 如何递归列出目录

ruby - 如何使 ruby​​ ShellWords.shellescape 使用多字节字符?

windows - 以提示方式编写但未执行的批处理窗口命令

java - 如何通过Java swing执行cmd命令