Как сделать выход "меньше" с очисткой экрана? [дубликат]

Shell sabe que $totoes una variable con valor 123456.
Por lo tanto, dondequiera que encuentre $totolo reemplaza con 123456.
Entonces, en el caso de $toto.hihi.log, Shell reemplaza $totocon 123456ya que .es como un operador de concatenación y crea un archivo como se esperaba.

Sin embargo, en el caso de $totohihi.log, Shell no encuentra ninguna variable llamada $totohihiy, por lo tanto, la reemplaza con una cadena vacía que da como resultado la creación del archivo .log. Puede encontrarlo con ls -ao ls.logya que los archivos que comienzan con .son ​​archivos ocultos y no se pueden ver con el comando simple ls.

En caso de que necesite crear un archivo con el nombre 123456hihi.log, deberá poner $totoentre llaves como ${toto}hihi.logcomo lo mencionaron otros en respuestas anteriores.

0
12.11.2019, 16:47
1 ответ

Если вы действительно хотите lessочищать экран при выходе, вы можете переопределить команду следующим образом

less() { command less "$@"; clear; }

С другой стороны, если вы хотите lessсохранить исходное содержимое экрана и восстановить его при выходе, это должно быть стандартным поведением. (Он управляется с помощью записей tiи teв TERMINFOи/или TERMCAP. Они устанавливаются в соответствии с типом терминала, как показано в echo $TERM.)

Вы можете попробовать принудительно отключить опцию -Xс помощью

less -+X

Но если и это не сработает, предоставьте результат выполнения команды echo $TERM, чтобы можно было определить значения tiи teи, следовательно, почему они не сохраняются. и восстановление экрана.

1
28.01.2020, 02:42

Теги

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