tools: Handle PAGER containing arguments

When printing full help output from a tool, we should be able to handle
a PAGER variable which includes arguments, e.g. PAGER='less -F'.

Signed-off-by: Paul Barker <paul.barker@sancloud.com>
This commit is contained in:
Paul Barker
2021-09-08 12:38:02 +01:00
committed by Tom Rini
parent 5fe50f9a40
commit 0d60e5d8e9

View File

@@ -5,6 +5,7 @@
import glob import glob
import os import os
import shlex
import shutil import shutil
import struct import struct
import sys import sys
@@ -588,9 +589,10 @@ def PrintFullHelp(fname):
Args: Args:
fname: Path to a file containing the full help message fname: Path to a file containing the full help message
""" """
pager = os.getenv('PAGER') pager = shlex.split(os.getenv('PAGER', ''))
if not pager: if not pager:
pager = shutil.which('less') lesspath = shutil.which('less')
pager = [lesspath] if lesspath else None
if not pager: if not pager:
pager = 'more' pager = ['more']
command.Run(pager, fname) command.Run(*pager, fname)