执行处理过的字符串

Execute processed string

我尝试了以下方法来更改斜杠并继续访问该文件夹,但它不起作用:

 # change the backward slashes to forward
 cmd_str="echo 'cd c:\test\folderA\C\' | sed 's/\/\//g'"
 # execute the processed string, goto folder
 eval "cd $cmd_str"

它指出:

 -bash: cd: echo: No such file or directory
 sed: -e expression #1, char 8: unterminated `s' command

另一个问题是,我如何为路径字符串获取参数?

不需要eval。直接使用 cd,使用 shell parameter expansion 来执行 \ 字符的替换。 /:

dir='c:\test\folderA\C\'
cd "${dir//\//}"

这种方法还允许您传递目录。路径作为参数并将其分配为 dir=,例如。