Как добавить файл в .gitignore с \ n в имени файла - PullRequest
0 голосов
/ 23 октября 2019

Я просто хочу добавить файл с file name (имя файла содержит \ n) в .gitignore.

Я пытаюсь:

/file
name

/file\nname

file\
name

, но не повезло.

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Пожалуйста, скажите мне, что это домашнее задание.

В файле .gitignore используется подстановочный знак в стиле glob (7), поэтому встраивание '*' должно работать. Linux действительно не заботится о написании имени файла, поэтому любой символ , кроме '/', может войти в имя файла. В командной строке обязательно используйте одинарные кавычки (а не двойные кавычки), чтобы оболочка не запуталась.

Чтение имен файлов из ls (1) и аналогичных разделит имя насимвол \ n, потому что стандартная библиотека glibc ищет новые строки, чтобы найти конец строки текста. Символы '/' и '\ n' обрабатываются специально на многих уровнях программного стека, например, путь к файлу или разделение буфера на строки, отображение имени файла или разрешение awk (1), sed (1) итакое сканирование списка имен файлов.

Но я согласен с другим постером: это плохая идея. Нет, я забираю это назад, это ужасная идея. Долгосрочная ремонтопригодность будет кошмаром.

0 голосов
/ 23 октября 2019

Попробуйте

/file*name

* должно соответствовать любым символам.

...