Каков источник справки?

Прежде чем Вы сделаете что угодно еще, обновите свое распределение Debian, чтобы, по крайней мере, Сжать. Сожмите было активное стабильное дерево в течение долгого времени теперь (и будет, вероятно, заменен Хрипящим когда-то в этом году), и Lenny является больше чем годом мимо его даты конца жизненного цикла.

То, что это означает, - то, что мало того, что все его программное обеспечение опасно устарело, оно не получало обновления системы защиты для, по крайней мере, настолько долго.

Если это не решает Вашу проблему напрямую (Ubuntu имеет тенденцию быть немного перед Debian, стабильным, потому что это намного менее строго о том, что они считают приемлемыми для стабильной версии), я все еще рекомендовал бы посмотреть на бэкпорты Debian, прежде чем Вы начнете пытаться привить пакеты человечности на debian систему, особенно где библиотеки заинтересованы.

8
11.07.2014, 16:56
4 ответа
[

][] help[] является bash builtin и предоставляет вам только подробности других bash builtin'ов со времени сборки.[

] [

] Исходный код для []help[] генерируется во время компиляции из файлов [] def[] в каталогах builtin дерева исходных текстов bash. Если вы посмотрите на исходный код []help[] и [][]cd[][] , то заметите, что эта информация является частью []$SHORT_DOC[]. Для доступа к информации []help[] использует массив с именем []shell_builtins[].[

].
19
27.01.2020, 20:08
[
] [

]Иногда мне кажется, что информация из него расширяется, что с помощью --help[

] [
] [

][]help cd[] и []cd --help[] принципиально отличаются друг от друга. []help[] - это команда, встроенная в оболочку, и она предоставляет информацию о других командах, которые [] встроены в оболочку [], т.е. они не являются собственными исполняемыми файлами, они являются особенностями, например, []bash[]. Это может немного запутать, так как некоторые встроенные команды также имеют отдельные исполняемые версии. В этом случае у них обычно есть своя собственная страница руководства, и они откроют путь к исполняемому файлу, если вы спросите [], какая [команда][]. Информация на man-странице или из [][command] --help[] предназначена для исполняемого файла; информация из [] help [command][] предназначена для встроенного, но, надеюсь, они более или менее одинаковы. Если вы ищете man-страницу для команды, которая является только встроенной, вы, вероятно, получите страницу для оболочки со списком всех встроенных команд.[

] [

][]--help[] (включая короткую форму []-h[]) - это всего лишь обычная метка для опции командной строки для исполняемого файла. Многие, но не все инструменты CLI реализуют это, но они не связаны с этим, и предоставляемая информация полностью зависит от реализации. Если вы вызываете []--help[] на встроенном в оболочку командной строки, вы, скорее всего, получите "invalid option" и краткое сообщение "use". Если вы вызываете команду в автономном режиме, который ее не реализует, вы []можете [] также получить "invalid option", но что именно произойдет снова, зависит от приложения.[

] [

]Если доступны как встроенные, так и автономные версии команды, и вы хотите знать, какая из них используется при ее вызове, вы можете использовать []тип[], другой встроенный командный интерпретатор командной оболочки. [

] [
> help type
type: type [-afptP] name [name ...]
Display information about command type.

For each NAME, indicate how it would be interpreted if used as a
command name.
[...]

> which echo
/bin/echo

> type echo
echo is a shell builtin
] [

]Здесь мы видим, что хотя существует отдельная исполняемая команда []echo[], []echo[], которая вызывается оболочкой, является встроенной.[

].
12
27.01.2020, 20:08
[

] Вы уже ответили на свой вопрос:[

] [
nicolas@host:~$ help help
help: help [-s] [pattern ...]
    Display helpful information about builtin commands.  If PATTERN is
    specified, gives detailed help on all commands matching PATTERN,
    otherwise a list of the builtins is printed.  The -s option
    restricts the output for each builtin command matching PATTERN to
    a short usage synopsis.
] [

]Справка - это команда BUILTIN (означает внутреннюю команду bash) для получения информации о других командах сборки. Так как этот скрипт третьей части не является встроенной командой bash. Если вы запустите []bash[], вызовите builtin [] help[] и используйте []strace[], вы получите:[

] [
# strace bash -i -c "help cd"
---snip(long output)---
write(1, "cd: cd [-L|-P] [dir]\n"..., 21cd: cd [-L|-P] [dir]
) = 21
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f38b765c000
read(3, "# Locale name alias data base.\n# "..., 4096) = 2570
read(3, ""..., 4096)                    = 0
close(3)                                = 0
munmap(0x7f38b765c000, 4096)            = 0
open("/usr/share/locale/pt_BR/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/pt/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/bash.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, "    Change the current directory "..., 710    Change the current directory to DIR.  The variable $HOME is the
    default DIR.  The variable CDPATH defines the search path for
    the directory containing DIR.  Alternative directory names in CDPATH
    are separated by a colon (:).  A null directory name is the same as
    the current directory, i.e. `.'.  If DIR begins with a slash (/),
    then CDPATH is not used.  If the directory is not found, and the
    shell option `cdable_vars' is set, then try the word as a variable
    name.  If that variable has a value, then cd to the value of that
    variable.  The -P option says to use the physical directory structure
    instead of following symbolic links; the -L option forces symbolic links
) = 710
write(1, "    to be followed.\n"..., 20    to be followed.
) = 20
---snip(long output)---
] [

]Это означает, что данная информация генерируется во время сборки внутри двоичного файла bash.[

].
8
27.01.2020, 20:08
[

], я думаю --help является частью исполняемого файла, он должен быть реализован там. Поэтому вы видите разные версии --help, иногда -h shorthand разрешена, другие - это не исправленная "help"...[

] [

]Edit[

] [

]I misread part of your question. Я не знаком ни с какой внутренней работой самой команды "help".[

]
2
27.01.2020, 20:08

Теги

Похожие вопросы