
このFS_SHELL機能ブロックは、インタラクティブシェルで1つまたは複数のリモートコマンドを実行します。
注意: システムコマンドは、リモートシステムに危害を及ぼしたり損傷させたりする可能性があります。また、既存のファイルが警告なしで上書きされることもあります。
ファイルシステムはFS_INITを使用して事前に初期化されていなければなりません。すべての操作は、設定された各ストレージメディアごとに非同期で実行されます。
正のエッジが生成されるたびに、指定されたコマンドが実行されます。
どのファイルにアクセスするかを定義します。このデバイスはプロジェクトごとに使用され、プロジェクト 外部ストレージのコンテキストメニューで管理できます。
ストレージメディア上のディレクトリへのパスを指定します。このパスは、UTF-8形式のUnixファイルパスに対応しています(サポートされている場合)。パスは次のように表示されます:
フォルダ/サブフォルダ
パスを使用することは任意です。設定された場合、そのディレクトリへの切り替えが成功しなければ、実行するコマンドは実行されません。
すべての実行する必要があるコマンドを定義します。すべてのコマンドは改行で終了する必要があります。例: "ls\n"。改行が使用されない場合、コマンドはおそらく実行されません。コマンドはサーバーからのフィードバック後に行ごとに実行されます。
すべてのコマンドを実行した後、最後に"exit\n"を送信して接続を即座に終了し、値を返す必要があります。その後、さらにコマンドを送信しないでください。そうしないと、出力ERRORがTRUEに設定されます。
注意: 接続が予期せず終了し、コマンドが送信されなかった場合、出力ERRORはTRUEに設定されます。
コンソール(仮想端末)のタイプを定義します。一部のデバイスでは、このパラメータは必須です。例: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm"など。値が定義されていない場合、"vanilla"が使用されます。
"exec"の値は、SSHコマンドを介してOSからリクエストを実行します。これにより、よりモダンな方法が使用されます。ただし、この方法は少し非効率的です。入力ENVは接続前に設定されるため、無視される可能性があります。入力SIZEはこの方法では無視されます。
追加のSSHパラメータを渡す必要がある場合は、それぞれ新しい行に"exec"の後に追加できます。パラメータは大文字小文字を区別し、次の例のように指定されます。この例では、古いデバイス用にRSAアルゴリズムが有効になっています。
exec
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa
利用可能なパラメータは次のとおりです:
| execのSSHパラメータ | 例値 |
|---|---|
| KexAlgorithms | +diffie-hellman-group1-sha1 |
| Ciphers | +aes128-cbc |
| HostKeyAlgorithms | +ssh-rsa |
| PubkeyAcceptedAlgorithms | +ssh-rsa |
| ConnectTimeout | 10 |
| ServerAliveInterval | 30 |
| ServerAliveCountMax | 3 |
注意: 詳細については、外部ドキュメントを参照してください: https://linux.die.net/man/5/ssh_config (英語)
アクティブな環境変数を定義します。複数の変数を指定するには、各行に1つずつ定義できます。例:
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
端末のサイズを定義します。デフォルトでは、文字単位で指定されますが、ピクセルでも定義できます。例: "80x25"または"640x480px"。値が定義されていない場合、"80x25"が使用されます。
T#形式で、コマンドごとのデータ受信タイムアウトを定義します。タイムアウトが定義されていない場合、T#150msが使用されます。この値が十分に高くない場合、データ出力中に複数のコマンドが実行される可能性があります。
T#形式で、すべてのコマンドを実行するためのタイムアウトを設定します。このタイムアウトに達すると、接続が終了し、値が返されます。その際、ERRORはTRUEに設定されます。タイムアウトは接続の確立と認証後に評価されます。入力PTYを"exec"に設定した場合、実行時間は全期間にわたって評価されます。タイムアウトが定義されていない場合、T#300sが使用されます。
この出力は成功した場合にパルスを返し、次の操作を実行します。パルスは処理が終了する際に発生します。エラーが発生しても同様です。
コマンドの実行が成功した場合、その戻り値を返します。この値は後で使用するために保存されます。
注意: コンソールは出力をフォーマットするため、制御文字やバイナリデータが含まれている可能性があります。
コマンドの実行に失敗した場合、その戻り値を返します。SSHではSTDERRとも呼ばれます。この値は後で使用するために保存されます。
注意: コンソールは出力をフォーマットするため、制御文字やバイナリデータが含まれている可能性があります。
エラーが発生した場合、この出力はエラーメッセージを含むテキストを返します。これはFALSEで、エラーが発生していないことを示します。この状態は後で使用するために保存されます。
可能性のある原因: