【发布时间】:2021-06-17 14:12:06
【问题描述】:
我用sed替换字符串中的character~,然后在macOS上打开这个字符串所示路径的文件夹。
#!/bin/bash
string="~/example"
echo $string | sed -r 's/~/\/JKFolder\/demo/'
open $string | sed -r 's/~/\/JKFolder\/demo/'
Echo可以打印出正确的路径/JKFolder/demo/,但是open不行,好像跑了字符串的第一部分,和open $string一样。 Sed 在此命令中不起作用。谢谢。
【问题讨论】:
-
因为你省略了
echo。你需要open $(sed -r 's/~/\/JKFolder\/demo/' <<< "$string")。或者,open "${string/\~/\/JKFolder\/demo}",这里不需要使用 sed。