我有一个存储 Unix 路径的变量,例如:
typeset unixpath=/foo/bar/
我必须使用 KornShell (ksh) 脚本将其转换为 DOS 路径:
dospath=\\\\foo\\\\bar\\\\
如果您有ksh93:
ksh-M 93t 2008-11-04$ unixpath=/foo/bar/
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
用于 Windows 的 AT&T ksh93 允许您使用 'typeset -H' 标记变量以进行自动转换:
$ typeset -H home=$HOME && print $home=$HOME C:\users\Henk=/home/Henk
我会作为评论添加到 1181 的答案,但我没有要点
为了使其更具可读性,如何使用替代 sed 分隔符
IE
dospath=`echo $unixpath | sed 's./.\\\\.g'`