Преобразовать путь Unix в путь DOS - PullRequest
2 голосов
/ 13 марта 2009

У меня есть переменная, которая хранит путь Unix, например:

typeset unixpath=/foo/bar/

И мне нужно преобразовать его в путь DOS, используя сценарии KornShell (ksh):

dospath=\\\\foo\\\\bar\\\\

Ответы [ 4 ]

2 голосов
/ 13 марта 2009

Попробуйте:

dospath=`echo $unixpath | sed 's/\//\\\\/g'`

Спасибо David Wolever за напоминание о необходимости использовать $ для доступа к значению переменной!

1 голос
/ 20 марта 2011

AT & T ksh93 для Windows позволяет помечать переменные для автоматического преобразования с помощью 'typeset -H':

$ typeset -H home = $ HOME && print $ home = $ HOME C: \ Users \ Хенк = / дом / Henk

1 голос
/ 13 марта 2009

Если у вас есть ksh93 :

ksh-M 93t 2008-11-04$ unixpath=/foo/bar/            
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
0 голосов
/ 16 марта 2009

Я бы добавил в качестве комментария к ответу eleven81, но у меня нет баллов

, чтобы сделать его немного более читабельным, как насчет использования альтернативного разделителя sed

т.е.

dospath=`echo $unixpath | sed 's./.\\\\.g'`
...