feat: 🎸 get shell

This commit is contained in:
Atsukoro1 2022-12-01 12:01:17 +01:00
parent e0a139151f
commit 028330ab92
2 changed files with 25 additions and 2 deletions

View file

@ -1,5 +1,5 @@
mod system;
fn main() {
println!("{}", system::host::get_uptime())
println!("{}", system::host::get_shell());
}

View file

@ -21,7 +21,9 @@ pub fn get_user() -> String {
.stdout
.iter()
.map(|&c| c as char)
.collect()
.collect::<String>()
.trim()
.to_string()
}
#[cfg(target_os = "linux")]
@ -74,4 +76,25 @@ pub fn get_uptime() -> String {
let seconds = uptime % 60;
format!("{}d {}h {}m {}s", days, hours, minutes, seconds)
}
#[cfg(target_os = "linux")]
pub fn get_shell() -> String {
let mut final_str = String::new();
let mut temp_buf: String = String::new();
let mut f = File::open("/etc/passwd").unwrap();
f.read_to_string(&mut temp_buf).unwrap();
let lines: &Vec<&str> = &temp_buf.lines().collect();
lines.into_iter().for_each(|line| {
if line.contains(&get_user()) {
final_str = line.split(":")
.collect::<Vec<&str>>()[6]
.to_string();
}
});
final_str
}