2016-04-27 89 views
0

我想用蘋果腳本更新我的git Bitbucket在線存儲。這是在終端工作的代碼,但不是當我運行蘋果腳本。用蘋果腳本更新git倉庫

cd /Users/mainuser/Desktop/Projects git add -A 
git commit -m fromAppleScript 
git push 

雕琢成蘋果腳本:

 say "updating backup" 
     do shell script "cd /Users/mainuser/Desktop/Projects git add -A" 
     do shell script "cd /Users/mainuser/Desktop/Projects git commit -m fromAppleScript" 
     do shell script "cd /Users/mainuser/Desktop/Projects git push" 

我有點不解,爲什麼這個代碼不工作。你能幫我解決這個問題嗎?

回答

1
do shell script "cd /Users/mainuser/Desktop/Projects && git add -A && git commit -m fromAppleScript && git push" 
+0

我結束了使用;在命令之間。我更喜歡你的班輪。 – sanjihan

+0

使用'&&'操作符鏈接命令具有如下優點:如果第一個命令失敗,則第二個命令也會跳過。分號與命令分隔符一樣,換行符也行;它們不會影響執行,所以即使像'cd'這樣的重要命令失敗,後續的命令仍然會被應用,但現在卻出現在錯誤的目錄中。另一種選擇是在腳本的開始處放置set -e,如果_any_後續命令失敗,則告訴bash立即退出。 Unix shell非常快速且鬆散,具有安全性和可靠性等細節,所以最好是防禦性編碼。 – foo

1

我相信您遇到的問題是您的git addgit commit命令之前的cd命令。你在一起鏈接兩個命令。