GETUSERSHELL(3)

名称
getusershell, setusershell, endusershell - 正規ユーザシェルを取得

ライブラリ
libc

書式
<unistd.h> char * getusershell(void) void setusershell(void) void endusershell(void)

解説
getusershell() 関数は、システム管理者がファイル /etc/shells に定義している正規ユーザシェルのポインタを返します。 /etc/shells が読み込めないかまたは存在しない場合、 getusershell() は、あたかも /bin/sh および /bin/csh がファイルにリストされていたかのように挙動します。

getusershell() 関数は (必要ならばファイルをオープンして) 次の行を読み込みます。 setusershell() 関数はファイルの先頭まで戻り、 endusershell() 関数はファイルをクローズします。

関連ファイル
/etc/shells

診断
getusershell() ルーチンは、 EOF で ヌルポインタ (0) を返します。

関連項目
shells(5)

歴史
getusershell() 関数は 4.3BSD ではじめて登場しました。

バグ
getusershell() 関数は、処理結果を内部の静的オブジェクトに残し、その オブジェクトのポインタを返します。以後 getusershell() を呼び出すと、同じオブジェクトを変更します。