説明
Execコンポーネントを使用すると、OS標準のスクリプトを実行することができます。
HubKitがWindowsで実行されている場合はバッチファイルおよびコマンドラインで呼び出せるプログラム、Linux、Macで実行されている場合はシェルスクリプトおよびコマンドラインで呼び出せるプログラムを実行することができます。

コンポーネントプロパティ
プロパティー名 | 説明 |
---|---|
コマンド | 実行するプログラムを指定。ファイルはactmgr/dataに保存します |
出力元 | 出力元を指定する。「標準出力のみ」はコマンドの実行で出力された標準出力を出力Payloadとします。「標準出力と標準エラー出力」は標準出力と標準エラー出力の両方を出力Payloadとします。 cp.Outputに設定される値は "stdout" , "combine" のいずれか |
エラー時実行継続 | 実行したプロセスの終了コードが0以外の場合でも処理を継続するかのフラグ |
タイムアウト | 実行タイムアウト時間の指定 |
出力型 | 出力形式の設定. cp.OutputTypeで設定される値は "string" , "binary" のいずれか |
エラー時実行継続
cv.ExitCodeで終了コードの取得することができます。
ただし、エラー時実行継続を有効にした場合でも、プロセスの起動が成功しない場合などはエラーとなりコンポーネントが停止します。
またLinux/macOSの環境でのExecコンポーネントはシェル経由で指定コマンドを実行します。
シェルは起動したコマンドの終了コードをシェルの終了コードとしますが、起動したコマンドが起動できなかった場合などはシェルがシェルとしてのエラーとして終了コードを返しますので、この場合はプロセスの終了コードではありません。
・シェルが返すエラーコード
127 コマンドが見つからないとき
126 コマンドは存在するが実行権限がなく起動に失敗したときなど
コマンド
コマンド実行するプログラムを指定します。
・実行できるコマンド
Windows環境
バッチファイル、外部コマンドを実行します。外部コマンドはウィンドウ表示のないコンソールアプリケーションです。
dirなどの内部コマンドを実行するには C:¥WINDOWS¥system32¥cmd.exe /c dir
のようにcmd.exeのフルパスを指定してください。
バッチファイルを実行する場合はactmgr¥data にコピーして相対パスでパスを指定するか、任意のフォルダーにコピーして絶対パスを指定してください。
外部コマンドを実行する場合はフルパスを指定してください。
Mac、Linux、RaspberryPI、Gravio Hub
シェル /bin/sh を起動してシェルスクリプト、外部コマンドを実行します。
シェルスクリプトを実行する場合はactmgr/data にコピーして相対パスでパスを指定するか、任意のフォルダーにコピーして絶対パスを指定してください。
外部コマンドを実行する場合はフルパスを指定してください。
※シェルスクリプトの場合には、先頭行に #!/bin/sh を付加してください。
※シェルスクリプト、外部コマンドには実行権を付ける必要があります。
※Linux、RaspberryPI、Gravio HubではDocker環境で実行されているためホストOSにインストールされている外部コマンドは使用できません。
※Macではファイルをコピーしてフォルダーにアクセス権が必要です。アクセス権はシステム環境設定のセキュリティとプライバシーでプライバシーにあるフルディスクアクセスにGravio HubKit4.appを追加してください。
・実行するコマンドのパス
Windows環境
バッチファイル、外部コマンドを指定した場合には、パスにはactmgr¥dataが自動的に保管されます。パスの指定も可能です。
※フォルダー名、ファイル名にスペースが含まれている場合には""(ダブルクォート)で囲む必要があります。
相対パスの例:
actmgr¥data
のbatchfile.bat
を実行する場合batchfile.bat
actmgr¥data¥subfolder
のbatchfile.bat
を実行する場合subfolder¥batchfile.bat
actmgr¥data¥subfolder 2021
のbatchfile.bat
を実行する場合"subfolder 2021¥batchfile.bat"
絶対パスの例:
c:¥
のbatchfile.bat
を実行する場合c:¥batchfile.bat
cmd.exeの内部コマンドの例:
C:¥WINDOWS¥system32¥cmd.exe /c dir
Mac、Linux、RaspberryPI、Gravio Hub環境
シェルスクリプト、外部コマンドを指定した場合には、パスにはactmgr/dataが自動的に補完されます。パスの指定も可能です。
※フォルダー名、ファイル名にスペースが含まれている場合には""(ダブルクォート)で囲む必要があります。
相対パスの例:
actmgr/data
のshellscript.sh
を実行する場合shellscript.sh
actmgr/data/subfolder
のshellscript.sh
を実行する場合subfolder/shellscript.sh
actmgr/data/subfolder 2021
のshellscript.sh
を実行する場合"subfolder 2021/shellscript.sh"
絶対パスの例:
/home/username
のshellscript.sh
を実行する場合/home/username/shellscript.sh
シェルの内部コマンドの例:
ls -lsa