Нет встроенного метода сохранения сохранения истории команд отдельно или по сеансам. Вы должны будете установить переменную 'histfile' для каждого отдельного экземпляра. Это означает, что вам нужно что-то уникальное в вашей среде, которое уже присутствует, когда ваш файл .tcshrc получен, или вы добавляете код для себя в самый верх вашего .tcshrc, который находит какое-то уникальное значение, возможно, из команды tty.
Позаботьтесь о том, чтобы делать это только тогда, когда вы находитесь в интерактивной оболочке, чтобы она не излишне замедлялась и не усложняла другие вещи, которые порождают новые оболочки tcsh, которые вы, возможно, не ожидаете. Например, если вы используете vim и выполняете какие-либо команды оболочки, команда tty не будет работать.
Я обычно использую метод prompt3 ...
if ( $?prompt3 ) then
#
# interactive-only things...
#
endif
Для отдельной истории, может быть в состоянии сойти с рук что-то вроде:
set mytty = ( `tty` )
set histfile = ( ".history.${mytty}" )