-
Notifications
You must be signed in to change notification settings - Fork 21
シェルスクリプトやインタプリタ型言語でエンジンを実行したい方へ
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 で推奨されている方法によりスクリプトを設定してください。