Luaライブラリを使う

Esshは設定にLuaを使用し、いくつかの組み込みのLuaライブラリも持っています。ライブラリをロードするにはrequire関数を使います。

例:

local question = require "question"

task "example" {
    prepare = function ()
        local r = question.ask("Are you OK? [y/N]: ")
        if r ~= "y" then
            -- return false, the task does not run.
            return false
        end
    end,
    script = [=[
        echo "foo"
    ]=],
}

questionはEsshの組み込みライブラリでgluaquestionによって実装されています。これはターミナルからのユーザ入力を取得する機能を提供します。 タスクのプロパティprepareは、タスクの開始時に実行される関数を定義する設定です。

タスクを実行すると、Esshはメッセージを表示し、入力を待ちます。

$ essh example
Are you OK? [y/N]: y
foo

Luaライブラリの詳細については、Lua VMセクションを参照してください。

次のセクションに進みましょう: ドライバを使う