我的elixir脚本似乎阻塞了外部可执行文件返回的数据。
这个signer程序接受两个参数并返回一个摘要字符串。
> # Usage: signer [datahex] [privatehex]
> ./signer 64bd... b3bd...
> 3a9c2e0220540ea2d2edbe18...
我可以手动运行它,效果很好。
但是当我用这个elixir / erlang代码运行它时:
"signer test string" |> String.to_char_list |> :os.cmd
它出错了:
' 2017/05/11 07:16:44编码/十六进制:无效字节:U + 0074 \' t \' \ n'
那么我怎么得到:os.cmd不会阻塞返回的字符串?我需要以某种方式转换它吗?
编辑:
我认为告诉你我可以让它与其他程序一起使用可能很重要:
"notepad test.txt" |> String.to_char_list |> :os.cmd
导致记事本打开当前工作目录中名为test.txt的现有文件。所以我不认为问题出在呼叫本身,但我知道什么?