[77c83b2684e458f89639e26ab046ad2dfd0c73d4] #bsd #zsh 

FreeBSD sysctl и дополнения для zsh

man sysctl имеет примеры для дополнения значений sysctl-а для zsh:

     -N      Show only variable names, not their values.  This is particularly
             useful with shells that offer programmable completion.  To enable
             completion of variable names in zsh(1) (ports/shells/zsh), use
             the following code:

                   listsysctls () { set -A reply $(sysctl -AN ${1%.*}) }
                   compctl -K listsysctls sysctl

             To enable completion of variable names in tcsh(1), use:

                   complete sysctl 'n/*/`sysctl -Na`/'

Эта ОС не перестаёт приятно удивлять и радовать такими мелочами и
дружелюбностью к пользователю.

[оставить комментарий]
комментарий 0:
From: kmeaw
Date: 2025-02-22 14:50:37Z

А если смонтировать /proc в FreeBSD, то там не будут выставляться наружу
sysctl, как в Linux?

Тогда можно было бы сделать find /proc/sys/ -type f

Мне в целом подход "everything is a filesystem" нравится больше. Жаль,
что нигде в массовых системах не дотащили namespaces до уровня Plan9.
комментарий 1:
From: Sergey Matveev
Date: 2025-02-22 14:54:22Z

*** kmeaw [2025-02-22 14:47]:
>А если смонтировать /proc в FreeBSD, то там не будут выставляться наружу
>sysctl, как в Linux?

Не, procfs в FreeBSD куда более минималистичный чем в Linux.
Собственно, в нём только информация о процессах и больше ничего.
Аналога sysfs тоже нет.

>Тогда можно было бы сделать find /proc/sys/ -type f

Согласен. Да мне то и не нужно автодополнение sysctl-а. Это просто было
приятно увидеть отсылку к zsh.

>Мне в целом подход "everything is a filesystem" нравится больше. Жаль,
>что нигде в массовых системах не дотащили namespaces до уровня Plan9.

Согласен. Хоть и не использовал, но начитался про Plan9 и в Unix-ах ещё
далеко до "всё есть файл" даже, не говоря про namespaces.