support bash and zsh