getusershell(3)

getusershell3

Get valid user shells

Usage

#include <unistd.h>

char *

getusershell(void);

void

setusershell(void);

void

endusershell(void);

Library

Standard C Library (libc, -lc)

Overview

The getusershell() function returns a pointer to a valid user shell as defined by the system manager in the shells database as described in shells(5). If the shells database is not available, getusershell() behaves as if /bin/sh and /bin/csh were listed.

The getusershell() function reads the next line (opening the file if necessary); setusershell() rewinds the file; endusershell() closes it.

Files

/etc/shells

Diagnostics

The routine getusershell() returns a null pointer (0) on EOF.

Releases

163 releases since Mac OS X 10.0; the text changed 2 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–26.5

History

The getusershell() function appeared in 4.3BSD.

Bugs

The getusershell() function leaves its result in an internal static object and returns a pointer to that object. Subsequent calls to getusershell() will modify the same object.

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.