Ich habe eine Variable, die einen Unix-Pfad, zum Beispiel speichert:auf DOS-Pfad
typeset unixpath=/foo/bar/
Und ich muss wandeln es in einem DOS-Pfad mit Kornshell (KSH) Scripting:
dospath=\\\\foo\\\\bar\\\\
Ich habe eine Variable, die einen Unix-Pfad, zum Beispiel speichert:auf DOS-Pfad
typeset unixpath=/foo/bar/
Und ich muss wandeln es in einem DOS-Pfad mit Kornshell (KSH) Scripting:
dospath=\\\\foo\\\\bar\\\\
Versuchen:
dospath=`echo $unixpath | sed 's/\//\\\\/g'`
Dank David Wolever mich daran erinnert ein $ zu ac zu verwenden Übernehmen Sie den Wert der Variablen!
Wenn Sie ksh93:
ksh-M 93t 2008-11-04$ unixpath=/foo/bar/
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
ich als Kommentar zu eleven81 Antwort hinzugefügt haben würde, aber ich habe nicht die Punkte
es etwas besser lesbar zu machen, wie über eine alternative Verwendung von sed Begrenzer
dh
dospath=`echo $unixpath | sed 's./.\\\\.g'`
Die AT & T ksh93 für Windows können Sie Variablen für die automatische Konvertierung mit '-H typeset' markieren:
typeset $ -H home = $ HOME & & print $ home = $ HOME C: \ users \ Henk =/home/Henk
Ich bin kein Korn-Experte, aber ich denke, das braucht irgendwo ein '$' ... Wie auch immer, genau so würde ich es machen, wenn du nicht zuerst gepostet hättest. –
Es hängt davon ab, ob eleven81 bedeutet: echo/unix/path oder echo $ unixpath; beides könnte gültig sein. –