2017-12-19 6 views
0

ansible-playbookをコンソールで実行すると、コンソールウィンドウのサイズを変更してコンソール出力の行の長さを制限することができます。 manのような(/ansible/utils/display.pyからコピー)コンソールの出力の行の長さを制限する

def _set_column_width(self): 
    if os.isatty(0): 
     tty_size = unpack('HHHH', 
         fcntl.ioctl(0, TIOCGWINSZ, pack('HHHH', 0, 0, 0, 0)))[1] 
    else: 
     tty_size = 0 
    self.columns = max(79, tty_size - 1) 

ツールサイズを変更せず、これを提供するために、環境変数MANWIDTHを提供:それはos.isatty(0)などがttyを見つけたときansibleは、TIOCGWINSZを取得するためにfcntl.ioctlを使用していますコンソールウィンドウ。

コンソールウィンドウのサイズを変更せずにコンソール出力のサイズを変更するにはどうすればよいですか?

答えて

0

ansilbesにチェックos.isatty(0)チェックSTDINが、溶液がちょうど標準入力をリダイレクトすることでしたので、コマンドなどを呼び出すときに、私がやった、開いている場合:

ansible-playbook -v -i dev --check --diff playbook.yml 0</dev/null

注:これは、出力を制限するものではありませんそれは別の話だと思います。

EDIT:関数_set_column_widthに見られるように、ttyがない(stdinが閉じている)とき、出力はデフォルトで79 charの行の長さになります。