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; mod system;
fn main() { fn main() {
println!("{}", system::host::get_uptime()) println!("{}", system::host::get_shell());
} }

View file

@ -21,7 +21,9 @@ pub fn get_user() -> String {
.stdout .stdout
.iter() .iter()
.map(|&c| c as char) .map(|&c| c as char)
.collect() .collect::<String>()
.trim()
.to_string()
} }
#[cfg(target_os = "linux")] #[cfg(target_os = "linux")]
@ -75,3 +77,24 @@ pub fn get_uptime() -> String {
format!("{}d {}h {}m {}s", days, hours, minutes, seconds) 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
}