
В NetBSD /bin/sh
есть модифицированная версияРакушка Альмквиста. С помощью команды fc -l
можно просмотреть последние 16 команд, введенных в командной строке втекущийсессия ине старые.
Переменная окружения HISTSIZE
установлена на 1000, и bash
это означает, что последние 1000 команд (так или иначеони были набраны в текущем сеансе) сохраняются в файле с именем .bash_history
в домашнем каталоге. Но здесь это, похоже, означает только то, что последние 1000 команд в этом сеансе сохраняются в истории, а история, похоже, не сохраняется в файле.
Я ищу историю, которая позволяет не только читать последние команды текущего сеанса, но икоманды предыдущих сессий(например, время предыдущего запуска системы, а не фактическое время). Имеет ли /bin/sh
NetBSD по умолчаниютакая история? Если нет, то возможно ли создать такую историю в этой оболочке?
решение1
Я не совсем понимаю ваш вопрос. В чем, собственно, вопрос?
Сначала вы утверждаете, что можете получить доступ к истории через fc
встроенную функцию, а затем спрашиваете, реализует ли оболочка историю?
Кроме того,man page
состояния:
Количество предыдущих команд, к которым возможен доступ, определяется значением переменной
HISTSIZE
.
и
Сначала оболочка входа считывает команды из файлов
/etc/profile
и,.profile
если они существуют. Если переменная окруженияENV
установлена при входе в оболочку или установлена в.profile
оболочке входа, то оболочка затем считывает команды из файла, указанного вENV
. Поэтому пользователь должен поместить команды, которые должны выполняться только при входе в систему, в.profile
файл, а команды, которые выполняются для каждой оболочки, — вENV
файл. Чтобы задатьENV
переменную для некоторого файла, поместите следующую строку в свой.profile
домашний каталогENV=$HOME/.shinit; export ENV
замените
.shinit
любое имя файла по вашему желанию.
Если ваш вопрос заключается в том, записывается ли история в файл, то, похоже, это не так.