Мы используем crontab для планирования заданий, и он не выбирает файлы для обработки, которые содержат [ или ] или ¿ .

Есть ли какие-либо ограничения на имена файлов или эти символы что-то значат в UNIX?

Есть ли другие переменные, которые мы не должны использовать в именах файлов?

2 ответа2

2

В системах Unix имена файлов могут содержать все символы, кроме:

  • / (косая черта)
  • NUL (ASCII ноль)

Кроме того, POSIX допускает любые символы, даже UTF-8, но это не означает, что каждое приложение (будь то оболочка, инструмент командной строки, файловая система и т.д.) Может обрабатывать его. По причинам переносимости вы должны использовать переносимый набор символов имени файла.

Просто убедитесь, что всякий раз, когда вы используете символы со специальным значением оболочки (например, * globs), вы указываете имя файла, например, если ваш файл называется file*name , используйте:

./some-command "file*name"
1

Это зависит от файловой системы, например. разрешения ext4 (из википедии)

все байты, кроме NUL ('\0') и '/' и специальных имен файлов "." а также ".."

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .