Я думаю, что возможно запуститься независимо от того, что Вы хотите от/etc/inittab
например, (/etc/inittab выборка)
# TERMINALS
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
# Launch top redirecting its output to tty2, without redirecting input
c2:2345:respawn:/usr/bin/top >/dev/tty2 2>&1
# Launch ascii-invaders with redirected input
# (you will be able to control the game with keyboard after switching to tty3)
c3:2345:respawn:/usr/games/bin/ascii-invaders </dev/tty3 >/dev/tty3 2>&1
Эти переменные устанавливают историю, чтобы объединить себя вместо перезаписи, и не сохранять дубликаты:
set history=1000
set histdup=erase
set savehist=(1000 merge)
Секретный соус является этой линией:
alias precmd 'history -S; history -M'
, которая будет сэкономить и объединить вашу историю перед печати приглашения - то есть после каждой команды Вы печатаете.
Все вышеперечисленное следует добавлять в ваш файл .tcshrc .
В дополнение к ответу Идана я хочу добавить, что alias precmd 'history -S; history -M'
потенциально может испортить файл истории, поскольку он также записывает сигнал SIGINT и EOF (Ctrl+C и Ctrl+D ).
Лучшим способом было бы сохранить и объединить текущую историю оболочки после выполнения команды.
Вместо этого вы можете добиться этого с помощью приведенной ниже настройки, поскольку tcsh не распознает SIGINT или EOF как допустимую команду.
alias postcmd "history -S; history -M"