我正在为自动取款机服务编写一个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 .
答案 0 :(得分:2)
这几乎可以肯定你需要改变:
cd "$TAG"
引用修复了所有内容!
您是否需要使用pbcopy
和pbpaste
以及变量?
cd "$(sed -e 's:\\\\fmg_cifs1\\Dept_Shares:/Volumes/Dept_Shares:' -e 's: :\ :g' -e 's:\\:/:g')"
正如Jonathan所指出的,一些sed
命令是不必要的。当然,需要向sed
提供一些东西。这可能就是您所需要的:
cd "$(echo "$dir" | sed -e 's:\\\\fmg_cifs1\\Dept_Shares:/Volumes/Dept_Shares:')"