Вопрос

У меня есть переменная, которая хранит путь к 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'`
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top