ฉันจะดู man page สำหรับคำสั่ง shell ในตัวได้อย่างไร?


11

หากฉันเห็นคำสั่งในสคริปต์ที่ฉันไม่รู้จักและฉันพิมพ์ (ตัวอย่าง) man pushdหรือman umaskฉันเห็น man page สำหรับคำสั่งในตัว ฉันรู้ว่าฉันสามารถทำman bashและเลื่อนเพื่อค้นหาความช่วยเหลือสำหรับคำสั่ง builtin นั้นหรือฉันสามารถเปิดเบราว์เซอร์และไปที่หน้าbash man ออนไลน์ซึ่งง่ายต่อการค้นหา แต่มีวิธีที่ง่ายกว่าในการรับ man page สำหรับ คำสั่ง builtin เดียวโดยตรงบนบรรทัดคำสั่ง?

คำตอบ:


12

บางทีคุณอาจต้องการฟังก์ชั่น wrapper ที่ข้ามไปยัง builtin โดยตรง:

man -P "less +/\ \ \ pushd" bash

-Pบอกให้มนุษย์ใช้เพจเจอร์น้อยลง (อาจเป็นค่าเริ่มต้นในระบบส่วนใหญ่) แต่ส่งผ่านการค้นหาโดยตรง คุณต้องเพิ่มช่องว่างก่อนที่สตริงการค้นหาเพื่อข้าม Hit ในข้อความและไปที่คำอธิบายของคำสั่ง

เพื่อความสะดวกในการใช้งานฟังก์ชั่นการใช้งานและนำไปใช้ใน~/.bashrc:

function manbash {
   man -P "less +/\ \ \ $1" bash
}

manbash pushdและใช้มันเหมือน


ความเป็นไปได้อีกอย่างคือการใช้ bash builtin help:

$ help pushd
pushd: pushd [-n] [+N | -N | dir]
Add directories to stack.

Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory.  With no arguments, exchanges the top two directories.

Options:
[...]

helpคำสั่ง - สมบูรณ์แบบขอบคุณ ทำไมman builtinsหน้าไม่แนะนำสิ่งนี้ฉันไม่รู้!
jhabbott

1
@ jhabbott: ฉันเพิ่งค้นพบhelpตัวเองในขณะที่เขียนคำตอบของฉันและคิดว่าสิ่งที่จะเป็นชื่อที่ดีสำหรับฟังก์ชั่นเสื้อคลุม ... อืมช่วยด้วย! ตกลงให้ตรวจสอบก่อนว่าเราจะแทนที่ฟังก์ชั่นที่มีอยู่ - et voilà;)
mpy

5

จะman bash-builtinsมีประโยชน์มากกว่านี้ไหม นอกจากนี้คุณสามารถค้นหาในหน้าคนได้โดยกดปุ่ม/และป้อนคำที่ต้องการค้นหา


1

lessยังตระหนักถึงสมอเริ่มต้นของเส้นและผู้ประกอบการจับคู่โลภ^*

man -P "less '+/^ *'pushd" bash

manbb() {
   man -P "less '+/^ *'${1}" bash
}

manbb pushd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.