Fix shell type

- Fish shell support
- Add support detect shell type