2

我有一个存储 Unix 路径的变量,例如:

typeset unixpath=/foo/bar/

我必须使用 KornShell (ksh) 脚本将其转换为 DOS 路径:

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

4 回答 4

2

尝试:

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

感谢David Wolever提醒我使用 $ 来访问变量的值!

于 2009-03-13T12:49:01.317 回答
1

如果您有ksh93

ksh-M 93t 2008-11-04$ unixpath=/foo/bar/            
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
于 2009-03-13T14:04:09.903 回答
1

用于 Windows 的 AT&T ksh93 允许您使用 'typeset -H' 标记变量以进行自动转换:

$ typeset -H home=$HOME && print $home=$HOME C:\users\Henk=/home/Henk

于 2011-03-20T01:42:17.407 回答
0

我会作为评论添加到 1181 的答案,但我没有要点

为了使其更具可读性,如何使用替代 sed 分隔符

IE

dospath=`echo $unixpath | sed 's./.\\\\.g'`
于 2009-03-16T17:05:40.777 回答