1

Я хотел бы знать способ получить файл, который содержит функцию, которая доступна, потому что он был получен в оболочке. Для Баш и ЗШ.

Например, когда я хочу узнать источник функции git_showhidden она печатает функцию, но не файл.

$ which git_showhidden
git_showhidden () {
    files=($(git ls-files -v | grep "^[[:lower:]]" | sed 's/h //'))
    echo "${files[@]}"
}

Конечно, я мог бы искать строку, но это скучно и медленно. which , whence и type не доставляют то, что мне нужно.

1 ответ1

0

Только часть ответа, но для , type делает именно то, что вам нужно.

Пример:

$ type extract
extract is a shell function from /usr/share/oh-my-zsh//plugins/extract/extract.plugin.zsh

Вы можете направить его вывод в sed "s/.*is a shell function from //g" чтобы получить только путь (это может иметь некоторые проблемы, но должно работать для большей части вывода).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .