Я пишу сценарий bash, который должен выполнить некоторую операцию с аргументом, который является путем. Путь может соответствовать или не соответствовать существующему файлу в системе пользователя, поэтому я хотел бы проверить, выглядит ли аргумент на его лице. как будто он соответствует формату пути, таким образом, чтобы не полагаться на проверку какого-либо существующего файла.

Я надеюсь, что есть какой-то способ сделать это без регулярного выражения или другого сопоставления с образцом; Я бы боялся пропустить какой-нибудь причудливый крайний случай - в идеале я хотел бы знать, есть ли какая-нибудь встроенная bash или что-то в этом роде, которая сделает этот тест для меня.

1 ответ1

4

Единственный символ, который не разрешен в пути - это NUL, поэтому нет необходимости учитывать естественные ограничения. Если вы хотите искусственно ограничить набор допустимых символов (скажем, если вы используете не POSIX-совместимую файловую систему), то вам нужно будет проверить правильность символов сложным способом.

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