Вы могли бы также хотеть посмотреть на pushd
и popd
, которые создают стопку каталогов для запоминания, где Вы были.
Использовать, pushd <directory>
изменения в <directory>
и сохраняет предыдущий каталог. Для возврата к этому сохраненному каталогу использовать popd
.
Я никогда не видел имени файла с новой строкой кроме, сознательно созданных к тестовым приложениям, которые управляют именами файлов. Имена файлов, содержащие новые строки, могут появиться потому что:
POSIX определяет имя файла как “имя, состоящее из 1 к байтам {NAME_MAX}, используемым для именования файла. Символы, составляющие имя, могут быть выбраны из набора всех символьных значений, исключая символ наклонной черты и пустой байт. Точка имен файлов и точечная точка имеют особое значение”. Нет никакой гарантии, что каждая файловая система примет “странные” имена файлов (единственные гарантируемые символы являются буквами ASCII, цифры, точка, дефис и подчеркивание, т.е. A-Z
, a-z
, 0-9
и ._-
, с дефисом, запрещенным в первом положении), но самые собственные файловые системы на современных нельдах делают.
При писании работы я часто собираю библиографию файлов PDF из различных источников. Не все они содержат корректные метаданные, что означает I иногда вставка копии заголовок бумаги от средства просмотра PDF в имя файла. Это часто приводит к новым строкам в имени файла, но никогда не было проблемой ни с какими инструментами, которые я использовал.
По моему скромному мнению, нет ничего 'защитного' о кодировании к стандарту.. стандарт, в котором говорится, что новые строки позволяются в именах файлов. Если Ваш сценарий не обрабатывает все имена файлов, позволенные в стандарте, то Ваш сценарий повреждается.
Я никогда не видел, что Обычные пользователи используют новые строки в именах файлов. Кажется, что их основная цель к (1), помогают взломщикам ниспровергать Вашу систему, и к (2) мешают писать безопасные программы :-(. Однако современному Unix - нравится (такие как Linux), позволяют им, таким образом, необходимо подготовиться к ним, если Вы хотите программу, которая сопротивляется нападению.
"Имена файлов и Пути в Shell: Как сделать, это правильно" показывает, как обработать это правильно.
spaces
в именах файлов, как гарантируют, не будут портативными? Было бы полезно, если бы Вы разъяснили, что те последние три символаperiod, underscore, and hyphen
. С подчеркнутой ссылкой трудно сказать. то же самое – toxalot 10.03.2014, 01:20,
(используемый RCS),:
(используемый X.org),~
(используемый многими программами на файлах резервных копий), …, Но они поддерживаются почти всеми современными системами. – Gilles 'SO- stop being evil' 10.03.2014, 01:41