История в оболочке Almquist в NetBSD

История в оболочке Almquist в NetBSD

В NetBSD /bin/shесть модифицированная версияРакушка Альмквиста. С помощью команды fc -lможно просмотреть последние 16 команд, введенных в командной строке втекущийсессия ине старые.

Переменная окружения HISTSIZEустановлена ​​на 1000, и bashэто означает, что последние 1000 команд (так или иначеони были набраны в текущем сеансе) сохраняются в файле с именем .bash_historyв домашнем каталоге. Но здесь это, похоже, означает только то, что последние 1000 команд в этом сеансе сохраняются в истории, а история, похоже, не сохраняется в файле.

Я ищу историю, которая позволяет не только читать последние команды текущего сеанса, но икоманды предыдущих сессий(например, время предыдущего запуска системы, а не фактическое время). Имеет ли /bin/shNetBSD по умолчаниютакая история? Если нет, то возможно ли создать такую ​​историю в этой оболочке?

решение1

Я не совсем понимаю ваш вопрос. В чем, собственно, вопрос?

Сначала вы утверждаете, что можете получить доступ к истории через fcвстроенную функцию, а затем спрашиваете, реализует ли оболочка историю?

Кроме того,man pageсостояния:

Количество предыдущих команд, к которым возможен доступ, определяется значением переменной HISTSIZE.

и

Сначала оболочка входа считывает команды из файлов /etc/profileи, .profileесли они существуют. Если переменная окружения ENVустановлена ​​при входе в оболочку или установлена ​​в .profileоболочке входа, то оболочка затем считывает команды из файла, указанного в ENV. Поэтому пользователь должен поместить команды, которые должны выполняться только при входе в систему, в .profileфайл, а команды, которые выполняются для каждой оболочки, — в ENVфайл. Чтобы задать ENVпеременную для некоторого файла, поместите следующую строку в свой .profileдомашний каталог

      ENV=$HOME/.shinit; export ENV

замените .shinitлюбое имя файла по вашему желанию.

Если ваш вопрос заключается в том, записывается ли история в файл, то, похоже, это не так.

Связанный контент