GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué Bash no almacena comandos que comienzan con espacios?

Si realizo una secuencia de comandos como:

$ ls
$   grep abc file.txt

y luego use la tecla de flecha hacia arriba para obtener el anterior, la terminal mostrará el último cmd (que es el grep aquí)

Pero si hago algo como esto:

$ ls
$   grep abc file.txt

donde grep está precedido por espacios, presionando hacia arriba da ls , no grep .

¿Por qué es esto?

Respuesta aceptada:

echo $HISTCONTROL
ignoreboth

golpe de hombre:

CONTROL HIST

Una lista de valores separados por dos puntos que controlan cómo se guardan los comandos en la lista del historial. Si la lista de valores incluye ignorespace , las líneas que comienzan con un carácter de espacio no se guardan en la lista de historial. Un valor de ignoredups hace que las líneas que coinciden con la entrada del historial anterior no se guarden. Un valor de ignoreboth es la abreviatura de ignorespace y ignoredups .


Linux
  1. 15 útiles comandos integrados de Bash Shell (con ejemplos)

  2. ¿Cómo puedo usar comandos con alias con xargs?

  3. ¿Por qué salir del código 141 con grep -q?

  4. Los comandos de Docker cuelgan sin respuesta

  5. ¿Por qué poll no se reemplaza con epoll?

Qué es Git Bash; Trabajar con comandos de Git Bash

Salve el día con éxito con los comandos del historial de Bash

El nombre del archivo no se imprime correctamente con guión bajo _ en Bash

nombre base con espacios en un script bash?

¿Por qué bash no se detiene por error debido a fallas en la secuencia de comandos en cortocircuito?

Reemplace espacios con guiones bajos a través de BASH