Emacs で org-babel-tangle を使ってみた。結構、便利かもと思った。
きっかけは、`~/bin` に置いているスクリプトを Emacs で一元管理できるかも、と思ってしまったから。 Emacs の設定ファイルは、org ファイルから el を吐き出してるのだから、出来るはず。
結果は、org-mode のbabelが設定出来てれば、 特に新しいライブラリの読み込み設定とかの必要もなかった。 ただ、私が使いこなせてなかっただけだった。
以下のように記述して、 “M-x org-babel-tangle” するだけ。 スクリプトのファイルが無事作成される。ただ、attributeは +x とはならない。当然か。
#+BEGIN_SRC shell :tangle "~/bin/test1.sh" #!/bin/sh echo "hello 1" #+END_SRC #+BEGIN_SRC shell :tangle "~/bin/test2.sh" #!/bin/sh echo "hello 2" #+END_SRC #+BEGIN_SRC shell :tangle "~/bin/test3.sh" #!/bin/sh echo "hello 3" #+END_SRC
でも、これを知るまで、1時間かかってしまった。改めて初心者だと自覚する。
あと、上書き確認とか出来ればと思うが、そこまで達してない。
append は見付けた。
#+BEGIN_SRC shell :tangle "~/bin/test2.sh" :output append #!/bin/sh echo "hello 2a" #+END_SRCとりあえず、良しとしておこう。
:shebang "#!/bin/bash" でいけるようです。
返信削除permission を executable にする、とOrg-modeのドキュメントにありました。
:tangle-mode (identity #o755) でもいけるんじゃないかと思います。
ありがとうございます。
削除動作確認しました。codeblock内のshebangは不要ですね。