2020年1月25日土曜日

Emacs で org-babel-tangle を使ってみた

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
とりあえず、良しとしておこう。

2 件のコメント:

  1. :shebang "#!/bin/bash" でいけるようです。
    permission を executable にする、とOrg-modeのドキュメントにありました。

    :tangle-mode (identity #o755) でもいけるんじゃないかと思います。

    返信削除
    返信
    1. ありがとうございます。
      動作確認しました。codeblock内のshebangは不要ですね。

      削除

麻のボディタオル

2018年の秋(まだ、自転車を封印してない)、 近江上布伝統産業会館 で、興味からボディタオルを購入した。 お、よかった。: 自然派パン工房 ふるさとの道 ほぼ毎日風呂で使ってきて、ついに寿命がきたようだ。 お店の方に、「糸が痩せて破れてくる」まで使える、と...