OpenBSD manual page server

Manual Page Search Parameters

GETUSERSHELL(3) Library Functions Manual GETUSERSHELL(3)

getusershell, setusershell, endusershellget legal user shells

#include <unistd.h>

char *



The () function returns a pointer to a legal user shell as defined by the system manager in the file /etc/shells. If /etc/shells is unreadable or does not exist, getusershell() behaves as if only /bin/sh, /bin/csh and /bin/ksh were listed in the file.

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


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


The getusershell() function appeared in 4.3BSD.

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.

June 5, 2013 OpenBSD-6.4