Попробуйте это:
bashman () { man bash | less -p "^ $1 "; }
Вам, вероятно, придется поразить n пару раз для получения до фактической команды вместо абзаца, который, оказывается, имеет название команды как первое слово.
Объяснение: это передает весь вывод по каналу man bash
, т.е. вся страница справочника удара (который является огромным документом и имеет подразделы, объясняющие каждый удар встроенная команда) к программе чтения less
. less' -p
флаг обозначает "шаблон"; то, что это делает, автоматически прокрутить к первой точке во входном тексте, который соответствует шаблону. Шаблон здесь является regex, который соответствует "Запуску строки (^
), сопровождаемый определенным количеством пробелов, сопровождаемых..." – и здесь, удар вставляет первый аргумент, предоставленный bashman
функция, потому что удар видит специальное предложение $1
маркер (что означает "первый аргумент") в строке, разграниченной с двойными кавычками (одинарные кавычки сказали бы удару о литеральном значении символов $1
). Так, если Вы работаете bashman cd
, Вы будете эффективно искать любую строку в странице справочника удара с запусками с набором пробелов, затем строка "CD". Поскольку могли бы быть другие точки во всей странице справочника удара, которые также соответствуют этому шаблону помимо фактического заголовка раздела, который объясняет, например, "CD", эта функция не может на самом деле взять Вас к корректной части страницы справочника удара.
NFS был разработан с идеей, что пользователь и идентификаторы группы будут тем же на всех машинах по сети. Для обычных пользователей, который работает хорошо. Но UID корня всегда 0, и просто потому что у Вас есть корень на одном поле, это не означает, что у Вас должен быть корневой доступ к каждой машине в сети.
Поэтому NFS рассматривает корень особенно. По умолчанию корень отображается на nobody
пользователь, который обычно не имеет никакого доступа для записи. -maproot
опция позволяет Вам изменяться, как корень обрабатывается. BSD's -maproot=root
соответствует Linux no_root_squash
опция.
Это - общее поведение с традиционными реализациями NFS. Отображения пользователя NFS выполняются независимо от контекста, таким образом, все доступы клиентским корнем должны быть отображены на конкретном пользователе (обычно nobody
по умолчанию). Следовательно это странное поведение, где клиентский корень не может получить доступ к Вашим файлам непосредственно, но может su gabe
получить доступ к ним.
(“Недавние” версии NFS, т.е. NFSv4 и возможно NFSv3, позволяют более нормальное поведение, если поддерживается с обеих сторон, но я не знаю детали.)
-maproot
опция, не имея доступа к Серверу NFS. – John 29.07.2011, 23:31