执行处理过的字符串
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=
,例如。
我尝试了以下方法来更改斜杠并继续访问该文件夹,但它不起作用:
# 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=
,例如。