10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IEx上でコマンドを実行する(Elixir)

Last updated at Posted at 2022-03-03

あまつ風雲のかよひ路吹きとぢよをとめの姿しばしとどめむ

Advent Calendar 2022 61日目1の記事です。
I'm looking forward to 12/25,2022 :santa::santa_tone1::santa_tone2::santa_tone3::santa_tone4::santa_tone5:
私のAdvent Calendar 2022 一覧


はじめに

Elixirを楽しんでいますか:bangbang::bangbang::bangbang:

IEx立ち上げた〜 > コマンド使いたい > もう一丁ターミナル立ち上げるか
となることありませんか。
私はしょっちゅうあります。

そんなときにそのままIEx上でコマンドを実行する方法をご紹介します。
macOS Catalina 10.15.7macOS Monterey 12.2.1で確かめました。

Elixirでコマンドを実行する関数を使うわけです。

What's IEx?

IExというのは、

Elixir's interactive shell.

です。

Elixirのプロジェクトのルートで、iex -S mixという形でよく使います。

mix formatしたい

iex> :os.cmd('mix format')

もしくは

iex> System.cmd("mix", ["format"])

です。
ちなみに、私は前者のほうをよく使っています。

ドキュメントはここです。

あとは同じ要領です。
その他、例をいくつか紹介しておきます。

Finderを開きたい

iex> :os.cmd('open .')  

もしくは

iex> System.cmd("open", ["."])

VS Codeを開きたい

iex> :os.cmd('code .')  

もしくは

iex> System.cmd("code", ["."])

参考: https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line

ここに書いてあることをやって、codeコマンドが使えるようにしています。


Wrapping up :lgtm::lgtm::lgtm::lgtm::lgtm:

Enjoy Elixir:bangbang::bangbang::bangbang:
$\huge{Enjoy\ Elixir🚀}$

今回はIEx上で、コマンドを実行する方法をご紹介しました。
ただ、:os.cmdSystem.cmd/3を使っているだけのことです。

以上です。


I organize autoracex.
And I take part in NervesJP, fukuoka.ex, EDI, tokyo.ex, Pelemay.
I hope someday you'll join us.

We Are The Alchemists, my friends!


  1. @kaizen_nagoya さんの「「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 1日目 Most Breakthrough Generator」から着想を得て、模倣いたしました。

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?