私はRubyを使ってコマンドラインツールを作っています。これは、画面上に多くのテキストを印刷します。現在、シェルパイプライン(may_app | more
)を使用しています。しかし、私はそれがデフォルトのページャを持っている方が良いと思います。ページャーでRubyコマンドラインアプリケーションを作成するには?
git log
を実行したときと同じです。 git --nopager log
を使用してページャを無効にすることができます。
私は非常に多くのGoogleの仕事をして、1つの宝石を見つけました: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
それは動作します。しかし、より良い方法がありますか?
良いアドバイス!ありがとう、zed。 – qhwa