Отключите файлы резервных копий Отступа GNU

При использовании Linux можно использовать pam_succeed_if.so модуль PAM (если дистрибутив имеет его). Другие Ose могут или не могут иметь его так YMMV.

в/etc/pam.d/sshd:

account    sufficient   pam_succeed_if.so login = 

Можно также разрешить определенные группы или числовой uids/gids, и т.д.

См. http://linux.die.net/man/8/pam_succeed_if для получения дополнительной информации об этом Модуле PAM.

5
14.12.2013, 01:10
3 ответа

Просмотр страницы справочника для indent и официальная документация GNU я только вижу 2 метода для управления этим поведением.

Переменные среды:

  • SIMPLE_BACKUP_SUFFIX
  • VERSION_WIDTH

Я попробовал различные приемы установки ширины к 0 и также установки SIMPLE_BACKUP_WIDTH ни к чему (""). Ни один не имел желаемый эффект. Я думаю, что Вы - только план действий, должен был бы создать псевдоним оболочки и/или функцию для обертывания команды indent сделать то, что Вы хотите.

Пример

$ function myindent() { indent "$@"; rm "$@"~; }

Затем, когда я выполняю его:

$ myindent ev_epoll.c

Я получаю желаемый эффект:

$ ls -l | grep ev_epo
-rw-r--r--.   1 saml saml     7525 Dec 13 18:07 ev_epoll.c
4
27.01.2020, 20:36
  • 1
    Спасибо, я сделал что-то подобное, но я использовал $* и для цикла вместо $@ таким образом, у меня может быть несколько файлов. Я все еще думаю, что было бы лучше, если будет что-то простое как -noback опция отключить резервные копии. –  ivokosir 14.12.2013, 12:39
  • 2
    @user54552 - да я был очень удивлен, что не было никакой опции. Код для той программы не может быть чрезмерно сложным, Вы могли взять его и вероятно добавить, что переключают себя и отправляют его назад как патч. LMK, если Вам интересно, я могу помочь Вам найти код repo, если Вы ищете его. –  slm♦ 14.12.2013, 14:51

Использование mktemp :

a=$(mktemp)
indent -o "$a" file
mv "$a" file

Использование Vim в режиме Ex:

ex -sc '%!indent -st' -cx file

Пример

0
27.01.2020, 20:36

Используйте источник, который находится в Mercurial. Комментарий в backup.c говорит:

 * Finally, if VERSION_CONTROL is "none" or "never", backups are not
 * made.  I suggest you avoid this behaviour.

Допустимые значения для VERSION_CONTROL перечислены в том же файле :

{
    {none,              "never"},    /*!< Don't make backups. */
    {none,              "none"},     /*!< Ditto */
    {simple,            "simple"},   /*!< Only simple backups */
    {numbered_existing, "existing"}, /*!< Numbered if they already exist */
    {numbered_existing, "nil"},      /*!< Ditto */
    {numbered,          "numbered"}, /*!< Numbered backups */
    {numbered,          "t"},        /*!< Ditto */
    {unknown,           0}           /*!< Initial, undefined value. */
};

Такая же информация есть в NEWS , что указывает на то, что он относится к версии 1.3 (конец 1990-х), поэтому он, вероятно, доступен в вашей системе.

Этого нет в отступе руководстве :

Тип файла резервной копии управляется значением переменной среды VERSION_CONTROL . Если это строка ‘simple’ , то будут созданы только простые резервные копии. Если его значением является строка ‘numbered’ , то будут созданы нумерованные резервные копии. Если его значение равно «пронумерованный-существующий» , то будут созданы нумерованные резервные копии, если для файла с отступом уже существуют пронумерованные резервные копии; в противном случае создается простая резервная копия. Если VERSION_CONTROL не задан, то отступ предполагает поведение «пронумерованное существующее».

Я протестировал GNU indent 2.2.11 (работает).

5
27.01.2020, 20:36

Теги

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