我想在Rust中执行
shell命令.在
Python中我可以这样做:
import os
cmd = r'echo "test" >> ~/test.txt'
os.system(cmd)
但Rust只有std :: process :: Command.我怎样才能执行像cd xxx&& ;;这样的shell命令触摸abc.txt?
你应该真的避免系统.它的作用取决于正在使用的shell以及您正在使用的操作系统(您的示例几乎肯定不会在Windows上执行您所期望的操作).
如果你真的,迫切需要用shell调用一些命令,你可以通过直接执行shell(比如使用-c开关用于bash)来做得更好.
如果由于某种原因,上述情况不可行,您可以保证您的程序只能在有问题的shell可用的系统上运行,并且用户不会运行其他任何东西……
…然后你可以像使用常规C一样使用libc
中的system
调用.这算作FFI,所以你可能想看看std::ffi::CStr
.