Nano через Sudoedit = No colors

Вы должны установить для переменной IFS значение $ (echo -en "\ n \ b") , например:

#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
find . -group groupname -exec sh -c 'su -c "chmod -R u+w,g-w,o-w,g+r,o+r ." - groupname {}' \;
IFS=$SAVEIFS
1
08.04.2017, 06:18
2 ответа

Проблема здесь в том, что sudoeditкопирует файл во временный файл, прежде чем открывать его в редакторе. Когда файл имеет расширение, временный файл создается с тем же расширением, и режимы подсветки синтаксиса на основе имени файла -выбираются соответствующим образом (, например. для файлов C ). Когда файл не имеет расширения, как в случае с nanorc, он создается со случайным расширением; это сбивает с толку выбор режима подсветки синтаксиса на основе имени файла -, а nanoприводит к тому, что файл обрабатывается как стандартный текстовый файл.

Если вы сможете перенастроить nanoдля обработки любого файла nanorc*как файла конфигурации, вы сможете восстановить требуемое поведение. В противном случае я не уверен, что есть способ справиться с этим автоматически.

1
27.01.2020, 23:45

try

function sunano {
    export SUDO_EDITOR='/usr/local/bin/nano'
    sudoedit -E "$@"
    #        ^^ 
    #         add this
}

-E или --preserve-env передает переменные среды новому процессу

0
27.01.2020, 23:45

Теги

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