콘솔에 인쇄하는 대신 특정 bash 명령에 대한 도움말을 less(man과 마찬가지로)로 표시하는 방법

콘솔에 인쇄하는 대신 특정 bash 명령에 대한 도움말을 less(man과 마찬가지로)로 표시하는 방법

trap예를 들어 명령 매뉴얼 페이지가 없습니다 . 달리기:

man trap

줄게:

No manual entry for trap

달리기:

trap --help

lessdo 와 같은 방법을 사용하지 않고 bash 콘솔에 직접 도움말을 인쇄합니다 man. 그리고 콘솔 출력을 차단하는 것은 불편합니다. 도움말 정보를 다음으로 리디렉션 less: 더욱 사용자 친화적

trap --help | less

하지만 매번 도움을 받기 위해 그렇게 긴 명령을 인쇄하는 것은 편리하지 않습니다. 더 짧게 구성하는 방법(예: 별칭) - 예를 들어 이를 사용하거나 help2 trap( help2기존 help명령 동작을 재정의하는 것이 올바르지 않을 수 있으므로) 더 짧게 사용하는 것이 더 낫습니까 hp trap(hp는 도움말 단어의 약자임)?

답변1

다음 기능을 추가하십시오 ~/.bashrc.

# Show help for command in less like man. Usage: hp cmd. For example:
# hp trap
hp() { "$@" --help | less; }

열려 있는 bash 콘솔에 표시되도록 가져옵니다(또는 콘솔을 다시 엽니다).

source ~/.bashrc

용법:

hp some_shell_command

사용 예:

hp trap

고쳐 쓰다

hp() { "$1" --help | less; } 스크립트 인수가 있는 지원 명령 으로 대체되었습니다 hp() { "$@" --help | less; } .python test.py --help

다음을 확인했습니다(Python 3.8.10 사용).

  • hp python # executed as: python --help | less
  • hp python test.py # executed as: python test.py --help | less
  • hp python "te st.py" # executed as: python "te st.py" --help | less
  • hp ./test # executed as: ./test.py --help | less
  • hp "./te st" # executed as: "./te st.py" --help | less

이 모든 경우는 유효합니다. 감사해요이르카초그리고크리스 데이비스귀중한 조언에 감사드립니다!

동일한 내용으로 test.py와 "te st.py"를 사용하세요.

#!/bin/python

# Python code here taken from the following answer on the question:
# How do I access command line arguments? [duplicate]
# https://stackoverflow.com/a/42929351/1455694
import argparse

parser = argparse.ArgumentParser("simple_example")
parser.add_argument("counter", help="An integer will be increased by 1 and printed.", type=int)
args = parser.parse_args()
print(args.counter + 1)

출력 hp python "te st.py":

usage: simple_example [-h] counter

positional arguments:
  counter     An integer will be increased by 1 and printed.

optional arguments:
  -h, --help  show this help message and exit

helpman, 명령 에 대한 질문 info:


이 솔루션은 다음 질문의 도움으로 만들어졌습니다.

관련 정보