Как работает определение типа файла по расширению имени файла в дополнение к спецификации XDG (mimeapps.list)

Не все оболочки поддерживают историю. dash имеет ограниченную поддержку истории через команду fc, если скомпилирован с поддержкой libedit, но не поддерживает ее в противном случае. dash не способен сохранять файл истории.

Часто, если оболочка не поддерживает клавишу со стрелкой вверх, можно предположить, что она также не сохранит файл истории. Это не жесткое правило, но оно верно во всех случаях, с которыми я сталкивался.

Некоторые другие оболочки (в частности, bash, но и другие тоже) используют readline, который обычно сохраняет историю в вашем домашнем каталоге в виде файла ~/.*_history, где * заменяется именем программы. Python 3, например, использует readline и хранит свою историю в ~/.python_history.

В зависимости от оболочки, место сохранения может быть настраиваемым или нет. bash и zsh используют переменную HISTFILE (все прописные буквы). Если ваша оболочка настроена правильно, эта переменная не должна быть переменной окружения, поэтому если вы видите ее в env, вы допустили ошибку (но она все равно должна отображаться в выводе set или printf %s\\\\n "$HISTFILE").

Если программа не поддерживает историю (например, ed, сценарии оболочки, использующие read, или старые версии mysql), существует кроссплатформенное приложение под названием rlwrap, которое использует readline для обеспечения bash-подобного завершения табуляции, обработки клавиш со стрелками и истории.

3
19.06.2015, 11:26
0 ответов

Теги

Похожие вопросы