เป็นไปได้ที่จะ org-bable-tangle ไฟล์ org จากบรรทัดคำสั่งหรือไม่?


15

ฉันต้องการจัดการไฟล์ tangling ของฉันด้วย Makefile แม้ว่าฉันจะไม่สามารถหาข้อมูลใด ๆ ของวิธีการยุ่งเหยิงไฟล์จากบรรทัดคำสั่ง

คำตอบ:


12

คุณสามารถใช้สิ่งที่ชอบ:

emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "file-to-tangle.org")'

(การอ้างเชลล์นั้นมีไว้สำหรับ Bash ให้ปรับถ้าคุณใช้เชลล์อื่น)

แก้ไข: ขอบคุณที่ @SkydiveMike สำหรับการชี้ออกมาผมได้เขียนผิดพลาดแทนorg-babel-tangleorg-babel-tangle-file


ฉันลองและได้รับWrong type argument: stringp, nilข้อความแสดงข้อผิดพลาดคำแนะนำใด ๆ เกี่ยวกับสิ่งที่ฉันอาจทำผิด
lookyhooky

1
ฉันต้องการ-Lแฟล็กเพื่อเพิ่มไดเร็กทอรีปัจจุบันไปยังโหลดพา ธ และ-l file-to-tangle.orgโหลดไฟล์ก่อนที่จะพยายามทำให้ยุ่งเหยิง
lookyhooky

8
emacs --batch -l org foo.org -f org-babel-tangleหรือemacs --batch -l org --eval '(org-babel-tangle-file "foo.org")'ทำงานให้ฉัน
xuchunyang

1
สำหรับสคริปต์ Bash สิ่งนี้มีประโยชน์:emacs --batch -l org --eval "(org-babel-tangle-file \"$1\")"
pentavalentcarbon

1
เพื่อความสมบูรณ์การแก้ปัญหาโดย xuchunyang ทำงานได้ (เมื่อเทียบกับต้นฉบับ) เพราะมี org-babel-tangle-file (ซึ่งยอมรับอาร์กิวเมนต์ FILE) เมื่อเทียบกับ org-babel-tangle ซึ่งทำงานกับบัฟเฟอร์ปัจจุบัน
SkydiveMike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.