[.. ]
sigue las mismas reglas que todos los demás comandos, es decir, se aplica División de palabras . Si OUT
está vacío (o no está configurado ), $OUT
se expandirá a nada, ni siquiera a un argumento vacío.
Entonces, [ -n $OUT ]
se expande a [
, -n
y ]
, y [
prueba si -n
no es una cadena vacía. Está,por lo que la prueba devuelve verdadero.
Tienes que citar $OUT
, como casi en todas partes:
if [ -n "$OUT" ]; then...
Véase:¿Cuándo es necesario -cotizar dos veces? y Pruebas y condicionales en BashGuide.
Вероятно, вы нажали *
или #
, которые ищут слово, находящееся под курсором, и перемещают курсор к следующему/предыдущему совпадению.
Это также выделяет все совпадения, когда установлено hlsearch
.
Выключить выделение:
:noh
См. здесь:Выделить все вхождения выбранного слова?