code: def chshell(name, shell):
      '''
      Change the default shell of the user
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' user.chshell foo /bin/zsh
      '''
      pre_info = info(name)
      if not pre_info:
          raise CommandExecutionError('User \'{0}\' does not exist'.format(name))
      if shell == pre_info['shell']:
          return True
      _dscl(
          ['/Users/{0}'.format(name), 'UserShell', pre_info['shell'], shell],
          ctype='change'
      )
      # dscl buffers changes, sleep 1 second before checking if new value
      # matches desired value
      time.sleep(1)
      return info(name).get('shell') == shelf chshell(name, shell):
      '''
      Change the default shell of the user
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' user.chshell foo /bin/zsh
      '''
      pre_info = info(name)
      if not pre_info:
          raise CommandExecutionError('User \'{0}\' does not exist'.format(name))
      if shell == pre_info['shell']:
          return True
      _dscl(
          ['/Users/{0}'.format(name), 'UserShell', pre_info['shell'], shell],
          ctype='change'
      )
      # dscl buffers changes, sleep 1 second before checking if new value
      # matches desired value
      time.sleep(1)
      return info(name).get('shell') == shell
docs: Change the default shell of the user
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' user.chshell foo /bin/zsh