سؤال

ولدي متغير يخزن مسار يونكس، على سبيل المثال:

typeset unixpath=/foo/bar/

ولقد لتحويله إلى مسار DOS باستخدام KornShell (KSH) البرمجة:

dospath=\\\\foo\\\\bar\\\\
هل كانت مفيدة؟

المحلول

وجرب:

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

<الفرعية> ديفيد Wolever للحصول على تذكيري لاستخدام $ للوصول إلى قيمة المتغير !

نصائح أخرى

إذا كان لديك <م> ksh93 :

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

ووAT & T ksh93 ويندوز يسمح لك لوضع علامة المتغيرات للتحويل التلقائي مع "-H تنضيدها ':

و$ تنضيدها منزل ح = $ الرئيسية && الطباعة $ المنزل = $ الرئيسية C: \ المستخدمين \ هينك = / الوطن / هينك

وكنت قد أضاف للتعليق على الجواب eleven81، ولكن ليس لدي نقاط

ولجعله قليلا أكثر قابلية للقراءة، وكيف حول استخدام محدد سد بديل

وأي بمعنى.

dospath=`echo $unixpath | sed 's./.\\\\.g'`
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top