Преобразовать путь Unix в путь DOS
Вопрос
У меня есть переменная, которая хранит путь к Unix, например:
typeset unixpath=/foo/bar/
И я должен преобразовать его в путь DOS с помощью скриптинга KornShell (ksh):
dospath=\\\\foo\\\\bar\\\\
Решение
Попробуй:
dospath=`echo $unixpath | sed 's/\//\\\\/g'`
Благодаря Дэвид Волевер за то, что напомнил мне использовать a $ для доступа к значению переменной!
Другие советы
Если у вас есть ksh93 :
ksh-M 93t 2008-11-04$ unixpath=/foo/bar/
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
AT & T ksh93 для Windows позволяет помечать переменные для автоматического преобразования с помощью 'typeset -H':
$ typeset -H home = $ HOME & amp; & amp; распечатать $ home = $ HOME C: \ Users \ Хенк = / дом / Henk
Я бы добавил в качестве комментария к ответу eleven81, но у меня нет нужных аргументов
чтобы сделать его немного более читабельным, как насчет использования альтернативного разделителя sed
т. е.
dospath=`echo $unixpath | sed 's./.\\\\.g'`
Не связан с StackOverflow