$ echo $billreminder
D:\juno_workspace_x64\9.0.4_app\moneycenter\src\webapp\jsp\billreminder
billreminder="${$billreminder/'D:'/ '\\cygdrive\\d' }"
(這個返回上CYG雙贏控制檯窗口BAD替換操作)字符串替換操作
我想替換 'd:\' 與 '/ cygdrive/d' 在上面的字符串billreminder
$ echo $billreminder
D:\juno_workspace_x64\9.0.4_app\moneycenter\src\webapp\jsp\billreminder
billreminder="${$billreminder/'D:'/ '\\cygdrive\\d' }"
(這個返回上CYG雙贏控制檯窗口BAD替換操作)字符串替換操作
我想替換 'd:\' 與 '/ cygdrive/d' 在上面的字符串billreminder
你可以,如果你願意,你字符串替換,但使用Cygwin,您還可以使用命令cygpath。
此命令轉換成Windows風格的cygwin的風格爲路徑供給路徑參數,你可以用它如下:
b=$(cygpath $b)
你可以這樣來做:
b='D:\juno_workspace_x64\9.0.4_app\moneycenter\src\webapp\jsp\billreminder'
b=\\cygdrive\\d\\${b#D:\\}
echo $b
我想結果分配給一個變量,'回聲/ cygdrive/d/$ {b#D:\\}''在這裏不起作用 – shadow0wolf
它確實:b = \\ cygdrive \\ d \\ $ {b#D:\\}我會編輯 –
它的工作原理 – shadow0wolf
您可以使用此替代:
s='D:\juno_workspace_x64\9.0.4_app\moneycenter\src\webapp\jsp\billreminder'
echo "${s/D:\\//cygdrive/d\\}"
/cygdrive/d\juno_workspace_x64\9.0.4_app\moneycenter\src\webapp\jsp\billreminder
說:
billreminder="${billreminder/D:/\\cygdrive\\d}"
這是有效的,當billreminder和/ D:/之間留有空間時,出現了壞的錯誤錯誤,而且在它沒有引用字符串之前我不知道它是否可以工作,替換字符串(有問題)應該用雙引號/ – shadow0wolf
只需刪除第二$
標誌:
~/> echo ${billreminder/'D:'/ '\\cygdrive\\d'}
\\cygdrive\\d\juno_workspace_x64\9.0.4_app\moneycenter\src\webapp\jsp\billreminder
+1這是在CYGWIN環境中工作的正確方式,另一個ans我們只是玩弄(包括接受的),它不能識別windows路徑'(\)'和Unix路徑'(/)'的區別。 – BMW