Я создаю инструмент командной строки, используя Ruby. Он напечатает много текста на экране. В настоящее время я использую конвейер оболочки (may_app | more
) для этого. Но я думаю, что лучше иметь пейджер по умолчанию.
Это похоже на то, что вы видите, когда выполняете git log
. Можно отключить пейджер с помощью git --nopager log
.
Я проделал большую работу в Google и нашел один драгоценный камень: hirb , но это кажется немного излишним.
После многих попыток я использую оболочку оболочки для этого:
#!/bin/bash
# xray.rb is the core script
# doing the main logic and will
# output many rows of text on
# screen
XRAY=$HOME/fdev-xray/xray.rb
if [ "--nopager" == "$1" ]; then
shift
$XRAY $*
else
$XRAY $* | more
fi
Это работает. Но есть ли лучший способ?