Domanda

Ho una variabile che memorizza un percorso Unix, ad esempio:

typeset unixpath=/foo/bar/

E devo convertirlo in un percorso DOS usando gli script di KornShell (ksh):

dospath=\\\\foo\\\\bar\\\\
È stato utile?

Soluzione

Prova:

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

Grazie a David Wolever per avermi ricordato di usare $ per accedere al valore della variabile !

Altri suggerimenti

Se hai ksh93 :

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

L'AT & amp; T ksh93 per Windows consente di taggare le variabili per la conversione automatica con 'typeset -H':

$ typeset -H home = $ HOME & amp; & amp; stampa $ home = $ HOME C: \ Users \ Henk = / home / Henk

Avrei aggiunto un commento alla risposta di undici81, ma non ho i punti

per renderlo leggermente più leggibile, che ne dici di usare un delimitatore sed alternativo

cioè.

dospath=`echo $unixpath | sed 's./.\\\\.g'`
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top