2013-04-07 40 views
0

我正在處理一組Bash shell腳本,並讓其中一個腳本檢查是否需要更新。如果是這樣,它需要將文件從我的電腦複製到其他人。在雪豹我可以做一些像。在山獅的shell中的用戶之間移動文件

account=$(whoami) 
cp "/Users/Sleepykrooks/Library/Services/Program" "/Users/$account/Library/Services/Program" 

但隨着山獅,即使全路徑仍然是這樣的,使用同樣的事情,導致沒有找到該文件夾​​或文件,它在尋找的一個錯誤。然而,如果你使用類似的東西,它會工作。

cp "/Library/Services/Program" "/Library/Services/Program" 

這是我不確定如何使用我的路我更新的文件複製到其他用戶的路徑。

謝謝你的幫助。

+0

該文件夾是否存在你的山獅安裝?您不能複製到不存在的文件夾;你必須先創建它。 OS X的版本不應該影響這種行爲,AFAIK。 – Jeff 2013-04-07 01:13:38

+0

啊,我想通了。它被誤導了,因爲如果你在Mountain Lion上命令+我有些東西,它會從SL中包含所有路徑的路徑中省略用戶和音量。我一直在計算機之間工作,並對我錯過的位置感到困惑。你是正確的,它指向一個不存在的文件夾。愚蠢的錯誤,我認爲是由另一個問題引起的。謝謝您的幫助。 – Sleepykrooks 2013-04-07 01:53:08

回答

0

當您在Unix中複製文件夾時,通常需要-R標誌。 (請參閱cp手冊頁)。

cp -R "/Users/Sleepykrooks/Library/Services/Program" "/Users/$account/Library/Services/Program" 

或者,使用的~的BASH快捷方式的主目錄:

cp -R ~Sleepykrooks/Library/Services/Program ~/Library/Services/Program 

通常情況下,你不應該接觸/Library目錄或用戶的~/Library在Mac上目錄。而且,除非你可以盯着電視攝像機並以絕對嚴肅的口吻說「我不是一個專業人士,不要在家裏試試這個。」

+0

感謝您的信息!這主要是必要的,因爲這些shell腳本是automator服務的一部分,並且它不會顯示在上下文菜單中,除非它出現在我所看到的位置。 – Sleepykrooks 2013-04-07 01:56:22