Frage

Ich habe eine Variable, die einen Unix-Pfad speichert, zum Beispiel:

typeset unixpath=/foo/bar/

Und ich muss es auf einen DOS-Pfad konvertieren Kornshell (KSH) Scripting:

dospath=\\\\foo\\\\bar\\\\
War es hilfreich?

Lösung

Versuchen:

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

Danke David Wolever an mich für die Erinnerung ein $ zu verwenden, um den Wert der Variablen für den Zugriff auf !

Andere Tipps

Wenn Sie ksh93 :

ksh-M 93t 2008-11-04$ unixpath=/foo/bar/            
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\

Die AT & T ksh93 für Windows können Sie Variablen für die automatische Konvertierung markieren, mit 'Typeset -H':

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

Ich habe als Kommentar zu eleven81 Antwort hinzugefügt würde, aber ich habe nicht die Punkte

, um es etwas besser lesbar, wie etwa ein alternativen sed Begrenzer mit

d.

dospath=`echo $unixpath | sed 's./.\\\\.g'`
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top