je une variable qui stocke un chemin Unix, par exemple:Convertir chemin Unix au chemin DOS
typeset unixpath=/foo/bar/
Et je dois le convertir en un chemin DOS en utilisant les scripts KornShell (ksh):
dospath=\\\\foo\\\\bar\\\\
je une variable qui stocke un chemin Unix, par exemple:Convertir chemin Unix au chemin DOS
typeset unixpath=/foo/bar/
Et je dois le convertir en un chemin DOS en utilisant les scripts KornShell (ksh):
dospath=\\\\foo\\\\bar\\\\
Essayez:
dospath=`echo $unixpath | sed 's/\//\\\\/g'`
Merci à David Wolever pour me rappeler d'utiliser un $ AC stop la valeur de la variable!
Si vous avez ksh93:
ksh-M 93t 2008-11-04$ unixpath=/foo/bar/
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\
J'ai ajouté un commentaire à la réponse de eleven81, mais je n'ai pas les points
pour le rendre un peu plus lisible, comment sur l'utilisation d'une solution de rechange sed delimiter
-à-dire
dospath=`echo $unixpath | sed 's./.\\\\.g'`
L'AT & T ksh93 pour Windows vous permet de marquer des variables pour la conversion automatique avec 'Composas -H':
$ typeset maison -H = $ HOME & & print $ home = $ HOME C: \ users \ Henk =/home/Henk
Je ne suis pas un expert en korn, mais je pense qu'il faut un '$' quelque part ... Bref, c'est exactement comme ça que je le ferais, si vous n'aviez pas posté d'abord. –
Cela dépend si eleven81 signifiait: echo/unix/path ou echo $ unixpath; soit pourrait être valide. –