полностью отключить систему завершения zsh

Чтобы установить разрешения xдля «других» в /dir1/dir2/.../targetи все промежуточные каталоги (, кроме корневого каталога ), и разрешения rдля каталога targetв конце пути:

dir=/dir1/dir2/dir3/dir4/target

chmod o+r "$dir"
while [ -n "$dir" ]; do
    chmod o+x "$dir"
    dir=${dir%/*}
done

Для заданного пути к каталогу будут выполнены команды

chmod o+r /dir1/dir2/dir3/dir4/target
chmod o+x /dir1/dir2/dir3/dir4/target
chmod o+x /dir1/dir2/dir3/dir4
chmod o+x /dir1/dir2/dir3
chmod o+x /dir1/dir2
chmod o+x /dir1

Значение переменных dirизменяется на каждой итерации цикла путем удаления последнего /и всего, что следует за ним.

1
26.08.2020, 16:06
1 ответ

Вы не можете, — или, по крайней мере, не без редактирования кода завершения fzf— потому что завершение fzfявно вызывает встроенный -Zsh в завершении, когда он терпит неудачу. Предоставленное завершениеfzfпросто не настроено для обработки всех случаев. Вот почему в какой-то момент он должен вернуться к построенному -.

Также обратите внимание, что compinitне требуется для получения дополнений в Zsh. Это просто необходимо для активации новой системы завершения Zsh . Если вы не позвоните по номеру compinit, вместо этого вы получите устаревшую систему завершения Zsh.

1
18.03.2021, 23:09

Теги

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