在bash
和POSIX sh
中,我可以将变量与通配符匹配,如下所示:
case $procname in
*"sh") echo "process is a probably a shell" ;;
*) echo "?" ;;
esac
在Rust中,通常只需要检查字符串的最后2个字符并查看其是否匹配。
例如
let chars = procname.chars().collect::<Vec<char>>();
if chars[chars.len()-1] == 'h' && chars[chars.len()-2] == 's' {
print!("it's probably a shell\n");
} else {
print!("?\n");
}
有更好的方法吗?