Взгляните к второй строке fc_copylogs
сценарий, это - то, которые инициировали сообщение об ошибке.
Вот один способ воспроизвести точно то же сообщение, которое Вы получили:
$ cd /tmp
$ cat > pk_copylogs <<%
#!/bin/ksh
fc $1
%
$ chmod +x /tmp/pk_copylogs
$ PATH=$PATH:/tmp pk_copylogs ::
pk_copylogs[2]: hist: :: not found
Конечно, это не могла бы быть точно та же ситуация в Вашем случае, но это, конечно, очень близко.
Вторая строка pk_copylogs могла бы просто содержать эту строку
hist ::
который произвел бы то же самое сообщение об ошибке или что-либо, что расширится до него.
Если Вы понятия не имеете о том, где посмотреть, можно выполнить эту команду для определения местоположения дефектного сценария:
find / -name pk_copylogs -print
и затем взгляните к его первым строкам с
head /path/to/pk_copylogs
Поля (имена членов struct utmp
в парантах - см. man 5 utmp
):
ut_type
)ut_pid
)inittab(5)
ID (ut_id
)ut_user
)/dev/
" (ut_line
)ut_host
)ut_addr_v6
)ut_time
или фактически ut_tv. tv_sec
)Возможные значения для первого поля (ut_type
или "тип записи") объясняются в utmp(5)
(6
, например, это LOGIN_PROCESS
, или "Процесс управления сеансом для входа пользователя").
В функции print_utline
из исходного кода utmpdump
вы можете найти литовую справку:
static void print_utline(struct utmp ut, FILE *out)
{
....
/* pid id user line host addr time */
fprintf(out, "[%d] [%05d] [%-4.4s] [%-*.*s] [%-*.*s] [%-*.*s] [%-15s] [%-28.28s]\n",
ut.ut_type, ut.ut_pid, ut.ut_id, 8, UT_NAMESIZE, ut.ut_user,
12, UT_LINESIZE, ut.ut_line, 20, UT_HOSTSIZE, ut.ut_host,
addr_string, time_string);
}