Mám zase jeden bizarní problém. Vyrábím PHP program a občas si nějakou funkci testuju na příkazové řádce. Pokud je výstup z PHP delší, pustím ho pípou do less, ale to se chová podivně. Všechny příkazy (scroll down, quit, go to beginning, atd.), místo aby se hned vykonaly, se vypíší na konec stavového řádku a provedou se až po stisknutí Enter. Pozoruhodné je, že tohle chování způsobuje pouze výstup z PHP, takže to nevypadá čistě na problém less.
Včera jsem si hrála s různým nastavením proměnných LESS a LESSOPEN a podařilo se mi zblbnout i more a most, ale most se po novém nalogování vzpamatoval. Ty proměnné jsou nastavené takto:
LESS=-iM
LESSOPEN=|/usr/bin/lesspipe.sh %s
Doma mám nastavené jenom LESSOPEN a blbne mi to tam taky. Tam to nejdřív fungovalo, ale když jsem v běžícím less zapnula nějaký přepínač (např. -i nebo -M), tak to začalo blbnout taky, a už se to nevzpamatovalo.
Když se přihlásím přes ssh na náš druhý počítač, chová se less řádně, i když si za běhu hraju s přepínači, takže to vypadá, že svou roli v tom hraje ještě gnome-terminal.
V diskusní skupině k PHP jsem našla dva roky starý dotaz (
http://www.mail-archive.com/php-general@lists.php.net/msg230132.html), ale tazatele tam odbyli, že je to problém lessu.
Pozoroval někdo někdy něco takého? Pokud by se chtěl někdo na to podívat, tady je jednoduchý skriptík, který vypíše obsah adresáře:
<?php
$dh = opendir('.');
while (false !== ($filename = readdir($dh))) {
echo $filename;
echo "\n";
}
?>