zoukankan      html  css  js  c++  java
  • Rust执行cmd或shell命令

    use std::process::Command;
    
    // cmd_str可以是从输入流读取或从文件里读取
    let cmd_str: String;
    if cfg!(target_os = "windows") {
        // 这里不用\而是/的话会被windows认为/tmp的/t是一个option而报错
        cmd_str = "dir d:\tmp".to_string();
    } else {
        cmd_str = "dir /usr/tmp".to_string();
    }
    
    let output = if cfg!(target_os = "windows") {
        Command::new("cmd").arg("/c").arg(cmd_str).output().expect("cmd exec error!");
    } else {
        Command::new("sh").arg("-c").arg(cmd_str).output().expect("sh exec error!");
    }
    
    let output_str = String::from_utf8_lossy(&output.stdout);
    println!("{}", output_str);

    上面的是同步执行命令,还可以异步执行的方式,貌似叫child的一个方法,这个需要用的时候再说;而且也可以利用task将同步的放到异步的地方进行执行;

  • 相关阅读:
    DOM面试题【三】
    JS面试题【二】
    移动端面试题【一】
    【python】mysql查询错误告警的处理
    硬币排成线
    书籍复印
    分割回文串
    分割回文串 II
    完全平方数
    俄罗斯套娃信封问题
  • 原文地址:https://www.cnblogs.com/silentdoer/p/13278650.html
Copyright © 2011-2022 走看看