プロセスフィールドのinittab '-'文字

プロセスフィールドのinittab '-'文字

inittab次の項目を含むファイルがあります。

console::askfirst:-/bin/ash

~によるとこのマニュアルページプロセスフィールドの「+」文字は、次を示します。

内部にこのプロセスでは、utmp および wtmp 統計は実行されません。

ただし、「-」文字については何も言及しません。プロシージャフィールドの「-」文字は何をしますか?

答え1

ハイフンはBusybox固有の機能のようです(例:「askfirst」、これがあなたがBusyboxを使用していることを理解した方法です)。これ初期化タブの例文書は次のように言います。

# /bin/sh invocations on selected ttys
#
# Note below that we prefix the shell commands with a "-" to indicate to the
# shell that it is supposed to be a login shell.  Normally this is handled by
# login, but since we are bypassing login in this case, BusyBox lets you do
# this yourself...
#
# Start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh

したがって、シェルはログインシェルで始まります(ハイフン付きargv [0]で始まります)。ログインシェルの意味はこの質問の範囲外ですが、通常は少なくとも他の起動ファイル(例:~/.profile

argv[0](適切なコマンドラインフラグではなく)でハイフンを使用してログインシェルであることをシェルに通知する慣例は古いものです。これは少なくともUNIXの2番目のバージョンにさかのぼります。 (argv [0]は"-"バージョン6までログインシェルでのみ使用され、に変更されました"-/bin/sh"。)

関連情報