ฉันมีเวิร์กโฟลว์ Automator และหนึ่งในการกระทำคือการโคลนที่เก็บ นี่คือรหัสสำหรับการกระทำ 'เรียกใช้เชลล์สคริปต์' คำสั่งถูกเรียกใช้ภายใน Bash เชลล์/bin/bash
หากมีความสำคัญ:
SOURCEDIR="${3/\/Volumes/}"
cd "$2"
REPOURL="bob@somedomain.com:$SOURCEDIR"
WORKINGDIR="$1"
# Capture any errors with cloning process in log file
git clone "$REPOURL" "$WORKINGDIR" &> ./log.txt
// For debugging
echo "exit code: $?"
echo "PPID: $PPID"
open .
ตอนนี้แอป Automator ทำงานได้ดีบนเครื่องของฉัน เส้นทางสู่คอมไพล์ในเครื่องของฉัน (A Macbook Pro) คือ: /usr/bin/git
(ฉันเชื่อว่าฉันติดตั้งคอมไพล์ในเครื่องของฉันผ่าน Xcode)
แต่บนเครื่องเพื่อนร่วมงานของฉัน (เช่น Mac Pro) แอป Automator ล้มเหลว อันที่จริงแล้วผลลัพธ์ของไฟล์ log.txt พูดว่า:bash: git: command not found
ตอนนี้บนเครื่องเพื่อนร่วมงานของฉันเส้นทางสู่ git คือ: usr/local/git/bin
ซึ่งใช่แตกต่างกันเพราะเขาติดตั้ง git ผ่าน Google Git Installer สำหรับ Mac OS X แต่ฉันไม่คิดว่ามันจะสำคัญเพราะในสคริปต์คำสั่ง git ไม่ใช่เส้นทางที่แน่นอนไปยังคำสั่งและเพื่อนร่วมงานของฉันสามารถเรียกใช้คอมไพล์ได้มากกว่าปกติจากสคริปต์ Bash แต่เมื่อเรียกใช้โดยตรงจากเทอร์มินัล
แล้วอะไรล่ะ เหตุใดเวิร์กโฟลว์อัตโนมัติทำงานสำหรับฉัน แต่ไม่ใช่เพื่อเพื่อนร่วมงานของฉัน
ต้องมีบางสิ่งพื้นฐานเกี่ยวกับ Bash หรือ Unix ที่ฉันไม่เข้าใจที่นี่ แต่ฉันหลงทาง