Отобразите тело функции в Bash

Это появляется :s в Вашем сценарии используются вместо true. Если grep не находит соответствие в файле, это возвратит ненулевой код выхода; поскольку jw013 упоминает в комментарии, если errexit установлен, вероятно, -e на строке хижины сценарий вышел бы если любой из greps не удается найти соответствие. Очевидно, это не то, что хотел автор, таким образом, он добавил || : заставить статус выхода из той конкретной составной команды всегда обнулить, как более общее (по моему опыту), || true/|| /bin/true.

13
21.02.2014, 10:46
3 ответа

declare builtin's -f опция делает это:

bash-4.2$ declare -f apropos1
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

Я использую type с этой целью это короче для ввода ;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}
14
27.01.2020, 19:53

Можно использовать type команда, чтобы сделать это.

type yourfunc распечатает функцию к STDOUT. Как man type говорит,

Утилита типа должна указать, как каждый аргумент был бы интерпретирован, если используется в качестве названия команды.
6
27.01.2020, 19:53
  • 1
    man type? Shell builtins обычно не имеет никакой страницы справочника в моей системе. –  manatwork 27.12.2012, 10:41
  • 2
    я обновил свой ответ со ссылкой. Системой, которую я использую, является Arch Linux. спасибо –  jasonwryan 27.12.2012, 10:55
  • 3
    . Кажется, что пакет страниц справочника содержит намного больше на Arch. –  manatwork 27.12.2012, 11:05
  • 4
    Никакая проблема: поскольку это - одна из страниц справочника POSIX, я думал, что это будет широко распределено... –  jasonwryan 27.12.2012, 11:10
  • 5
    help type показывает определенную для Bash информацию. –  l0b0 27.12.2012, 14:25

для использования информации о командах сборки:

например:

Для информации обо всех типах команд, например:

0
27.01.2020, 19:53

Теги

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