Как я могу создать функцию в zsh, который называет существующую команду с тем же именем?

Можно работать

ls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

Это показывает все подкаталоги niftly отформатированный как дерево.

Иногда существует также tree утилита, доступная во многих дистрибутивах Linux. В противном случае затем можно установить его отсюда.

Это обеспечивает следующий вывод:

~> tree -d /proc/self/
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
|   `-- 3 -> /proc/15589/fd
|-- fdinfo
|-- net
|   |-- dev_snmp6
|   |-- netfilter
|   |-- rpc
|   |   |-- auth.rpcsec.context
|   |   |-- auth.rpcsec.init
|   |   |-- auth.unix.gid
|   |   |-- auth.unix.ip
|   |   |-- nfs4.idtoname
|   |   |-- nfs4.nametoid
|   |   |-- nfsd.export
|   |   `-- nfsd.fh
|   `-- stat
|-- root -> /
`-- task
    `-- 15589
        |-- attr
        |-- cwd -> /proc
        |-- fd
        | `-- 3 -> /proc/15589/task/15589/fd
        |-- fdinfo
        `-- root -> /

9
15.09.2018, 03:39
1 ответ

То, что происходит, - то, что Вы рекурсивно называете Ваш ls функция. Для использования двоичного файла можно использовать ZSH's command встроенный.

function ls {
    command ls -l "$@"
}
25
27.01.2020, 20:04

Теги

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