Временно заморозить файл истории

Когда вы вставляете SD-карту и перезагружаете целевую плату, запускается установщик Debian. Программа установки использует один из последовательных портов на плате Alwinner для связи с вами во время установки.

Вам понадобится последовательный кабель и преобразователь USB-to-serial (если на вашем ПК нет проводного последовательного порта). Вам также может понадобиться преобразователь RS232C для вашей платы, потому что последовательный порт обычно подключается напрямую к микроконтроллеру, вместо того, чтобы обеспечивать уровни сигнала RS232C.

Было бы намного проще, если бы вы могли использовать другую программу установки, которая взаимодействует с вами с помощью USB-клавиатуры и порта VGA или HDMI на плате.

Другой вариант - создать или использовать установщик, который не требует взаимодействия с пользователем, но устанавливает Debian, следуя конфигурационному файлу, описывающему вашу доску.
Программа установки Debian поддерживает неинтерактивную установку с помощью механизма "preseed", который позволяет вам предоставлять заранее определенные варианты конфигурации с помощью файла конфигурации. См. Вики Debian preseed .

Другой вариант - приобрести Raspberry Pi или другую встраиваемую плату с дополнительной поддержкой программирования.

1
09.09.2017, 01:11
3 ответа

Вы можете использовать fc -p, чтобы начать новый список истории, и fc -P, чтобы вызвать предыдущий список истории. После простого fc -pвы получаете пустую историю. Вы можете передать имя файла в fc -p, чтобы прочитать историю из этого файла, поэтому сохраните историю и немедленно прочитайте ее с помощью fc -p. Когда вы вызываете fc -P, он восстанавливает значение HISTFILEдо вызова fc -p.

freeze_history () {
    fc -A
    fc -p $HISTFILE
    unset HISTFILE
}
unfreeze_history () {
    fc -P
}

К сожалению, историю нельзя редактировать прямо в памяти, можно только заполнить ее искусственно, прочитав из файла.

1
27.01.2020, 23:44

Это может помочь :Вы можете ввести unset HISTFILE, чтобы отключить историю сеанса. Выход и повторный вход запустит его снова.

Кроме того, вы можете вернуться к команде в истории и стереть ее, нажав CTRL-u.

Удачи!

0
27.01.2020, 23:44

Я использую следующие псевдонимы в моем.zshrc:

alias disablehistory="function zshaddhistory() {  return 1 }"
alias enablehistory="unset -f zshaddhistory"

Таким образом, я могу запустить disablehistory, и ни одна новая команда не войдет в историю моего текущего сеанса. Затем я могу запустить enablehistory.

Как это работает? disablehistoryопределяет функцию перехвата истории .

If any of the hook functions returns status 1 (or any non-zero value other than 2, though this is not guaranteed for future versions of the shell) the history line will not be saved, although it lingers in the history until the next line is executed, allowing you to reuse or edit it immediately.

Таким образом, он предписывает zshвсегда отклонять запись в историю.

enablehistoryunsets(-fобозначает функцию)zshaddhistoryfunction, поэтому возвращается поведение по умолчанию.

0
14.05.2021, 19:52

Теги

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