read_string, sh fixes