
功能块 FS_SHELL 在交互式 Shell 中执行一个或多个远程命令。
注意: 系统命令可能会危害或损坏远程系统。此外,现有文件可能会在没有警告的情况下被覆盖。
必须使用 FS_INIT 初始化文件系统。所有操作都是异步执行的,每个存储介质一个。
在正边沿时,会执行指定的命令。
定义要访问哪些文件的设备。该设备用于项目,并可以在上下文菜单中通过 项目 外部存储 进行管理。
指定存储介质上的目录路径。如果支持,该路径对应于 UTF-8 格式的 Unix 文件路径。路径如下所示:
Ordner/Unterordner
使用路径是可选的。如果设置了路径,则必须成功切换到该目录,否则不会执行要执行的命令。
定义所有要执行的命令。所有命令都必须通过行尾终止。例如:"ls\n"。如果未使用行尾,则命令可能不会被执行。命令会在服务器返回响应后逐行执行。
在执行所有命令后,应该在末尾发送 "exit\n",以立即终止连接并返回值。之后不应再发送任何命令,否则输出 ERROR 将被设置为 TRUE。
提示: 如果连接意外终止且未发送命令,则输出 ERROR 将被设置为 TRUE。
定义控制台类型(伪终端)。对于某些设备,此参数是强制性的。示例:"vanilla"、"exec"、"vt100"、"vt102"、"ansi"、"xterm" 等。如果未定义任何值,则使用 "vanilla"。
"exec" 通过操作系统的 SSH 命令执行请求。因此,使用了更现代化的方法。但是,此方法效率较低。输入 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(英文)
定义活动的环境变量。可以每行定义一个变量。示例:
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。该状态将被保存以供稍后使用。
可能原因: