1

我正在为自动化服务编写一个 bash 脚本,该脚本将获取 Windows 目录位置并将其更改为 Mac 并打开一个查找器窗口。它正在工作,除非它击中带有空格的文件夹。我已经将它们删除,但它不适用于仍然有空格的任何东西。我一定犯了某种语法错误。

sed -e 's:\\\\fmg_cifs1\\Dept_Shares:/Volumes/Dept_Shares:' -e 's: :\ :g' -e 's:\\:/:g' | pbcopy
TAG=$(pbpaste)
cd $TAG; open .
4

1 回答 1

2

几乎可以肯定,这就是您必须更改的全部内容:

cd "$TAG"

报价解决一切!

你需要使用pbcopyandpbpaste和一个变量吗?

cd "$(sed -e 's:\\\\fmg_cifs1\\Dept_Shares:/Volumes/Dept_Shares:' -e 's: :\ :g' -e 's:\\:/:g')"

正如乔纳森所指出的,有些sed命令是不必要的。当然,需要喂一些东西给sed. 这可能就是您所需要的:

cd "$(echo "$dir" | sed -e 's:\\\\fmg_cifs1\\Dept_Shares:/Volumes/Dept_Shares:')"
于 2012-05-18T22:04:44.560 回答