Bagaimana saya bisa dengan mudah melihat halaman manual untuk perintah shell builtin?

11

Jika saya melihat perintah dalam skrip yang saya tidak tahu dan saya ketik (misalnya) man pushdatau man umasksaya melihat halaman manual untuk perintah builtin. Saya tahu bahwa saya dapat melakukan man bashdan gulir untuk menemukan bantuan untuk perintah builtin itu, atau saya dapat membuka browser dan membuka halaman bash man online yang lebih mudah dicari, tetapi apakah ada cara yang lebih mudah untuk mendapatkan halaman manual untuk perintah builtin tunggal langsung di baris perintah?

jhabbott
sumber

Jawaban:

12

Mungkin Anda ingin memiliki beberapa fungsi pembungkus yang melompat langsung ke builtin:

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

-Pmemberitahu manusia untuk menggunakan lebih sedikit sebagai pager (mungkin default pada kebanyakan sistem), tetapi langsung meneruskan pencarian untuk itu. Anda perlu menambahkan beberapa kekosongan sebelum string pencarian untuk melewati hits di teks dan pergi ke deskripsi perintah.

Untuk kenyamanan, buat fungsi dari itu dan masukkan ke ~/.bashrc:

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

dan menggunakannya seperti manbash pushd.


Kemungkinan lain adalah menggunakan 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:
[...]
mpy
sumber
helpperintah - sempurna, terima kasih. Mengapa man builtinshalaman tidak menyarankan ini, saya tidak tahu!
jhabbott
1
@jhabbott: Saya baru saja menemukan helpdiri saya saat menulis jawaban saya dan berpikir apa nama yang bagus untuk fungsi wrapper ... hm, tolong! Ok, mari kita periksa dulu apakah kita akan menimpa beberapa fungsi yang ada - dan voilà;)
mpy
5

Apakah man bash-builtinsakan lebih membantu? Anda juga dapat mencari di dalam halaman manual dengan menekan /dan memasukkan istilah pencarian Anda.

Stefan Seidel
sumber
1

lessjuga mengakui jangkar ^dan operator pencocokan serakah yang baru mulai *.

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

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

manbb pushd
charcs
sumber