Как преобразовать путь Windows (с обратными косыми чертами) в формат Unix на Babun / Cygwin

Я использую Windows и пишу сценарии оболочки для запуска на Babun (API POSIX).

Мне нужно прочитать путь из переменной среды $USERPROFILE и преобразовать его в стиль unix (заменить на/, c: by /c/), чтобы я мог использовать его позже в сценарии.

проблема в том, что всякий раз, когда я повторяю содержимое $USERPROFILE, обратные косые черты интерпретируются как экранирующие символы, и я получаю неожиданный результат (буквы "случайным образом" превращаются в специальные символы, такие как n, f и т. д.). Так Что Я например, не может повторить это в sed.

14
задан Vituel
15.01.2023 7:39 Количество просмотров материала 2419
Распечатать страницу

1 ответ

Cygwin обеспечивает очень полезным cygpath утилита для преобразования Unix и Windows формате пути. От Cygwin Руководство Пользователя

на cygpath программа-это утилита, которая преобразует собственные имена файлов Windows в Имена путей в стиле Cygwin POSIX и наоборот. Его можно использовать когда Cygwin программа должна передать имя файла в собственную программу Windows, или ожидает получить имя файла из собственной программы Windows. Кроме того, cygpath может выход информация о расположении важных системных каталогов в любой формат.

он может конвертировать в / из любого окна или пути формата DOS стиле, например, для печати Unix формат пути Windows:

$ cygpath -u "$USERPROFILE"
/cygdrive/c/Users/anthony

посмотреть Cygwin Руководство Пользователя для полной информации и cygpath --help для основной информации об использовании.

9
отвечен Anthony Geoghegan 2023-01-16 15:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх