#![allow(dead_code, unused_imports, unused_must_use)]
use std::error::Error;
use std::io::{BufRead, BufReader};
use std::process::{self, Command, Stdio};
use encoding::{Encoding, DecoderTrap, EncoderTrap};
use encoding::all::{GBK, UTF_8};
#[allow(dead_code)]
pub fn run_cmd() {
let cmd_str: String;
if cfg!(target_os = "windows") {
cmd_str = "dir d:\\program".to_string();
} else {
cmd_str = "ls -alh".to_string();
}
let output = if cfg!(target_os = "windows") {
Command::new("cmd")
.arg("/c")
.arg(cmd_str)
.arg("/n")
.output()
.expect("cmd exec error!")
} else {
Command::new("sh")
.arg("-c")
.args(["ls", "-alh"])
.arg("/home/user ")
.output()
.expect("sh exec error!")
};
let out = if cfg!(target_os = "windows") {
GBK.decode(&output.stdout, DecoderTrap::Strict).unwrap()
} else {
String::from_utf8(output.stdout).unwrap()
};
println!("spider run_cmd ret: {}", out);
}