В системах Unix имена файлов могут содержать все символы, кроме:
/ (косая черта)
NUL (ASCII ноль)
Кроме того, POSIX допускает любые символы, даже UTF-8, но это не означает, что каждое приложение (будь то оболочка, инструмент командной строки, файловая система и т.д.) Может обрабатывать его. По причинам переносимости вы должны использовать переносимый набор символов имени файла.
Просто убедитесь, что всякий раз, когда вы используете символы со специальным значением оболочки (например, * globs), вы указываете имя файла, например, если ваш файл называется file*name , используйте:
./some-command "file*name"