2012-09-26 62 views
1

我試圖在shell腳本中將預定義的一組Chrome瀏覽器書籤複製到Chrome保留在Mac上的位置(~/Library/Application Support/Google/Chrome/Default)。在腳本我有:用Mac上的空格複製文件

#!/bin/sh 
bookmarks_dir="$HOME/Library/Application\ Support/Google/Chrome/Default" 
cp -v "bookmarks/Bookmarks" "$bookmarks_dir" 

但是當我運行此我得到:

cp: /Users/aparkin/Library/Application\ Support/Google/Chrome/Default: No such file or directory 

如果我複製&粘貼在上面的錯誤信息的路徑,並用手做CP:

cp -v bookmarks/Bookmarks /Users/aparkin/Library/Application\ Support/Google/Chrome/Default 

它複製正常,所以目錄確實存在。這似乎是在絆倒事物的道路上的空間。

我錯過了什麼?我想如果一個變量被引用在文件名中的空格不再導致問題?

回答

3

擺脫$bookmarks_dir定義中的\。它被視爲文字\:如果你做了$echo bookmarks_dir你會看到它。

\只有在你不會在字符串周圍加引號時纔有用。所以,

bookmarks_dir=$HOME/Library/Application\ Support/Google/Chrome/Default 

也會工作。

+0

賓果,就是這樣。謝謝,將在幾分鐘內接受。 –

相關問題