use std::fs; use std::path::Path; pub fn execute(args: &[String]) { // 检查参数数量 if args.is_empty() { eprintln!("用法: cat <文件名>"); return; } // 遍历所有传入的文件名 for arg in args { let path = Path::new(arg); // 检查文件是否存在 if !path.exists() { eprintln!("错误: 文件 '{}' 不存在", arg); continue; // 跳过不存在的文件 } // 尝试读取文件内容 match fs::read_to_string(path) { Ok(contents) => { // 打印文件内容 println!("内容来自文件 '{}':", arg); println!("{}", contents); } Err(e) => { eprintln!("读取文件 '{}' 时出错: {}", arg, e); // 输出读取错误 } } } }