Живое изменение размера корневого раздела в случае «LUKS на LVM» [дубликат]

@David Dai tiene razón sobre este hilo de ayuda bash -.

Aquí está el código relevante bashen C.

if (history_lines_this_session <= where_history () || force_append_history)
  {
    result = append_history (history_lines_this_session, hf);
    history_lines_in_file += history_lines_this_session;
  }
else
  {
    result = write_history (hf);
    history_lines_in_file = history_lines_this_session;
  }

shopt -s histappendestablece force_append_historyen no -cero(true).

history_lines_this_sessiones el número de comandos que escribió en esta sesión interactiva bash. Cuando inicia bash por primera vez, es 0. Aumenta en 1 cada vez que ingresa un comando que se guarda en el historial.

where_history()es un índice en la lista de historial de memoria -, que comienza en el índice 0. Apunta al siguiente índice para escribir el historial. Por ejemplo, cuando tenga 0 historial, será el índice 0. Cuando tenga 6 líneas de historial, será el índice 6.

Cuando inicia por primera vez bashy tiene historial en su HISTFILE, where_history()aumenta pero se limita a <= HISTSIZE. Entonces where_history()tiene un valor máximo de HISTSIZE.

Después de leer HISTFILE, where_history()aumentará pero history_lines_this_sessionseguirá siendo 0. Cuando ingreseHISTSIZE + 1el número de comandos, history_lines_this_session == HISTSIZE + 1ywhere_history() == HISTSIZE(porque está limitado en el máximo ). En este punto, (history_lines_this_session <= where_history()) == falsese sobrescribirá el historial si histappendestá desactivado.

Puedes probar esto en tu bashtú mismo. Si histappendestá desactivado, una vez que ejecute HISTSIZE + 1el número de comandos, history_lines_this_sessionexcederá where_history()en 1 y HISTFILEse sobrescribirá. Debe asegurarse de que otros comandos no interfieran con su historial para que la prueba funcione, aunque (sucede en macOS ). Use los siguientes comandos para desactivar los comandos que pueden alterar el historial:

trap - EXIT
PROMPT_COMMAND=
SHELL_SESSION_HISTORY=0 # for macOS only

42
04.11.2016, 06:08
0 ответов

Теги

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