У меня есть переменная, которая хранит путь Unix, например:Преобразовать Unix путь к пути DOS
typeset unixpath=/foo/bar/
И я должен преобразовать его в путь DOS, используя KornShell (КШ) сценариев:
dospath=\\\\foo\\\\bar\\\\
У меня есть переменная, которая хранит путь Unix, например:Преобразовать Unix путь к пути DOS
typeset unixpath=/foo/bar/
И я должен преобразовать его в путь DOS, используя KornShell (КШ) сценариев:
dospath=\\\\foo\\\\bar\\\\
Try:
dospath=`echo $unixpath | sed 's/\//\\\\/g'`
Благодаря David Wolever за напоминание мне использовать $ для переменного тока вывести значение переменной!
Если у вас есть ksh93:
ksh-M 93t 2008-11-04$ unixpath=/foo/bar/
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
Я бы добавил в качестве комментария к ответу eleven81, но у меня нет точек
, чтобы сделать его немного более удобным для чтения, как об использовании альтернативных SED разделителем
т.е.
dospath=`echo $unixpath | sed 's./.\\\\.g'`
АТ & T ksh93 для Windows, позволяет помечать переменные для автоматического преобразования с 'набран -H':
$ верстать -H дом = $ HOME & & печать $ домой = $ HOME C: \ пользователи \ Henk =/home/Henk
Я не эксперт по korn, но я думаю, что ему нужно «$» где-то ... Во всяком случае, именно так я и сделал бы это, если бы вы не разместили его первым. –
Это зависит от того, означал ли одиннадцать81: echo/unix/path или echo $ unixpath; либо может быть действительным. –