BASH中的字符串替换


$ echo $billreminder
D:juno_workspace_x649.0.4_appmoneycentersrcwebappjspbillreminder
billreminder="${$billreminder/'D:'/ '\cygdrive\d' }"

(这将在 cyg-win 控制台窗口上返回 BAD 替换)

我想在上面的字符串账单提醒中将"D:\"替换为"/cygdrive/d">

说:

billreminder="${billreminder/D:/\cygdrive\d}"

如果你愿意,你可以用字符串替换,但使用cygwin,你也可以使用命令cygpath。
此命令将作为 Windows 样式的路径提供的参数转换为 cygwin 样式的路径,您可以按如下方式使用它:

b=$(cygpath $b)

您可以使用此替换:

s='D:juno_workspace_x649.0.4_appmoneycentersrcwebappjspbillreminder'
echo "${s/D:\//cygdrive/d\}"
/cygdrive/djuno_workspace_x649.0.4_appmoneycentersrcwebappjspbillreminder

只需删除第二个$符号:

~/> echo ${billreminder/'D:'/ '\cygdrive\d'}
\cygdrive\djuno_workspace_x649.0.4_appmoneycentersrcwebappjspbillreminder

你可以这样做:

b='D:juno_workspace_x649.0.4_appmoneycentersrcwebappjspbillreminder' 
b=\cygdrive\d\${b#D:\}
echo $b

相关内容

  • 没有找到相关文章