gpt4 book ai didi

cmd - 如何在 System.cmd 中使用管道?

转载 作者:行者123 更新时间:2023-12-04 01:35:16 30 4
gpt4 key购买 nike

我有一个函数,它可以获取所有 USB 连接设备的信息。

connected_devices = :os.cmd('usb-devices | grep -A 1 Product=')

当我使用 :os.cmd 时,它工作正常。但是,由于 :os.cmd 不返回错误代码,我想使用 System.cmd 来更好地处理错误。

connected_deivces = System.cmd("usb-devices", ["|", "grep", "-A", "1", "Product="])

所以我尝试像上面那样更改功能,但它在管道后不执行命令。

如何使用 System.cmd 执行带有管道的命令?

最佳答案

System.cmd 只能直接调用一个程序。 os:cmd 将命令传递给允许您使用管道的操作系统的默认 shell。要对 System.cmd 做同样的事情,如果你在 Unix 上,你可以调用 /bin/sh:

System.cmd("/bin/sh", ["-c", "usb-devices | grep -A 1 Product="])

关于cmd - 如何在 System.cmd 中使用管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50150363/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com