Ich möchte meine git Bitbucket Online-Speicher mit Apfel-Skript aktualisieren. Dies ist der Code, der in Terminal funktioniert, aber nicht, wenn ich ein Apple-Script ausführe.Update Git Repository mit Apple Script
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"
Ich bin ein wenig verwirrt, warum dieser Code nicht funktioniert:
cd /Users/mainuser/Desktop/Projects git add -A
git commit -m fromAppleScript
git push
in Apfel Skript gefertigt. Kannst du mir mit diesem Problem helfen?
ich landete mit; zwischen Befehlen. Ich mag deinen I-Linerweg noch mehr. – sanjihan
Chaining Befehle mit dem '' && Operator haben den Vorteil, dass, wenn der erste Befehl fehlschlägt, der zweite Befehl zu übersprungen. Semikolons fungieren nur als Befehlstrennzeichen, ebenso wie Zeilenvorschübe. sie haben keinen Einfluss auf die Ausführung, so dass selbst wenn ein wichtiger Befehl wie den 'cd' die nachfolgenden Befehle nicht noch angewendet, aber jetzt im falschen Verzeichnis. Eine weitere Option ist 'auf put am Anfang des Skripts -e', die bash sagt sofort zu beenden, wenn _jeder_ nachfolgender Befehl fehlschlägt. Unix-Shells ist notorisch schnell und locker mit teensy Details wie Sicherheit und Zuverlässigkeit, so dass es am besten ist, defensiv zu codieren. – foo