Проверка путей к файлам - PullRequest
       2

Проверка путей к файлам

0 голосов
/ 24 августа 2010

Мы хотим проверить пути к файлам, например, foo/bar, которые может ввести пользователь.Можно ли создавать файлы с начальным или конечным пробелом в OS X или Linux, например foo/ bar /bazz?

Ответы [ 3 ]

1 голос
/ 24 августа 2010

В большинстве файловых систем, которые вы можете использовать в Linux, вам не разрешено использовать «/» и символ NULL в вашем имени файла. Вот и все:)

1 голос
/ 25 августа 2010

Быстрый эксперимент на OS X с использованием стандартной файловой системы Mac OS HFS + (той, которая будет использоваться по умолчанию на большинстве компьютеров пользователей). Можно создать и смонтировать более традиционные файловые системы Unix.

ls > " foo "
ls > "foo "
ls > " foo"
ls > foo


24 Aug 23:32  foo 
24 Aug 23:32 foo 
24 Aug 23:32  foo
24 Aug 23:32 foo

ls > "foo/ "
-bash: foo/ : Not a directory

Итак - пробел в начале и в конце - да. Это обеспечивает совместимость с классическими файлами Mac OS. Использование / - №.

Теперь попробуйте

ls > Foo

и мы видим, что 'foo' обновлено. HFS нечувствителен к регистру по умолчанию (его можно включить, но если вам нужно, возможно, лучше использовать полностью альтернативную FS)

24 Aug 23:40 foo

Это, очевидно, может вызвать проблемы при переводе некоторого стандартного кода Unix в OS X, если ваш код ожидает, что Foo и foo существуют.

1 голос
/ 24 августа 2010
touch ' foo '

Нет проблем в Linux.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...