Skip to content

シェルスクリプトやインタプリタ型言語でエンジンを実行したい方へ

Kubo, Ryosuke edited this page Dec 2, 2022 · 10 revisions

エンジンを起動する条件

インタプリタ型言語で記述されたエンジン、あるいはシェルスクリプト経由でエンジンを実行する場合にエンジンを登録できない(実行できない)というお問い合わせを複数頂いています。

Linux や MacOS の場合、以下の条件をみたすことが必要です。

  • シバン (Shebang) を正しく記述していること
    • シバンとはテキストファイルの先頭に記述する #! で始まる命令です。
    • シェルスクリプトを /bin/bash で実行したい場合には #!/bin/bash と書きます。
    • Python であれば #!/usr/bin/env python が一例です。
    • env コマンドを併用した場合のトラブルの例 も参考にしてください。
  • 実行権限が付与されていること
    • 例えば chmod +x ファイル名 等で実行権限を付与します。(この例だと全てのユーザーが対象になります。)
    • 権限がついているかどうかは例えば ls -l で確認できます。

Windows の場合は拡張子 .exe .cmd .bat に対応しています。

将棋所との動作の違いについて

将棋所の古いバージョンでは、テキストファイルに対して無条件に Bash を実行していました。 しかし、これはファイルの実行権限や拡張子を無視した好ましくない振る舞いです。 将棋所の掲示板で指摘があったらしく、新しいバージョンでは必要に応じて確認画面が出るようになったそうです。

Electron 将棋では標準的な方法を採用しているため、 OS で推奨されている方法によりスクリプトを設定してください。

Clone this wiki locally