
Khối chức năng FS_SHELL thực thi một hoặc nhiều lệnh từ xa trong một shell tương tác.
Chú Ý: Lệnh hệ thống có thể gây nguy hiểm hoặc làm hỏng hệ thống từ xa. Ngoài ra, các tệp đã tồn tại có thể bị ghi đè mà không cảnh báo.
Hệ thống tệp phải được khởi tạo trước đó bằng cách sử dụng FS_INIT. Tất cả các hoạt động đều diễn ra bất đồng bộ cho mỗi thiết bị lưu trữ đã thiết lập.
Khi có một cạnh dương, lệnh được chỉ định sẽ được thực thi.
Định nghĩa thiết bị từ đó truy cập vào các tệp. Thiết bị được sử dụng cho mỗi dự án và có thể được quản lý trong menu ngữ cảnh dưới Dự Án Bộ Nhớ Ngoại.
Chỉ định đường dẫn đến thư mục trên thiết bị lưu trữ. Đường dẫn tương ứng với một đường dẫn tệp Unix trong định dạng UTF-8, nếu được hỗ trợ. Đường dẫn được biểu diễn như sau:
Thư Mục/Thư Mục Con
Sử dụng một đường dẫn là tùy chọn. Nếu đã thiết lập, thì chuyển đổi đến thư mục này phải thành công, nếu không lệnh cần thực thi sẽ không được thực hiện.
Định nghĩa tất cả các lệnh cần được thực thi. Tất cả các lệnh phải được kết thúc bằng một dấu kết thúc dòng. Ví dụ: "ls\n". Nếu không sử dụng dấu kết thúc dòng, lệnh có thể không được thực thi. Các lệnh sẽ được thực thi theo từng dòng sau khi nhận phản hồi từ máy chủ.
Sau khi thực thi tất cả các lệnh, nên gửi một "exit\n" ở cuối để kết thúc kết nối ngay lập tức và trả về giá trị. Sau đó không nên gửi thêm lệnh nào, nếu không đầu ra ERROR sẽ được đặt thành TRUE.
Ghi Chú: Nếu kết nối bị kết thúc bất ngờ và một lệnh không được gửi, đầu ra ERROR sẽ được đặt thành TRUE.
Định nghĩa loại console (Pseudo-Terminal). Đối với một số thiết bị, tham số này là bắt buộc. Ví dụ: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" và các khác. Nếu không định nghĩa giá trị nào, thì sẽ sử dụng "vanilla".
Giá trị "exec" thực thi yêu cầu qua lệnh SSH của hệ điều hành. Điều này sử dụng các phương pháp hiện đại hơn. Tuy nhiên, phương pháp này có thể không hiệu quả. Đầu vào ENV được thiết lập trước khi kết nối, vì vậy nó có thể bị bỏ qua. Đầu vào SIZE sẽ bị bỏ qua với phương pháp này.
Nếu cần truyền thêm các tham số SSH, chúng có thể được thêm vào mỗi dòng mới sau "exec". Các tham số là phân biệt chữ hoa thường và được chỉ định như trong ví dụ sau. Ví dụ này kích hoạt thuật toán RSA cho các thiết bị cũ.
exec
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa
Các tham số SSH có sẵn như sau:
| Tham Số SSH Cho Exec | Giá Trị Ví Dụ |
|---|---|
| KexAlgorithms | +diffie-hellman-group1-sha1 |
| Ciphers | +aes128-cbc |
| HostKeyAlgorithms | +ssh-rsa |
| PubkeyAcceptedAlgorithms | +ssh-rsa |
| ConnectTimeout | 10 |
| ServerAliveInterval | 30 |
| ServerAliveCountMax | 3 |
Ghi Chú: Để biết thêm chi tiết, vui lòng xem tài liệu bên ngoài: https://linux.die.net/man/5/ssh_config (Tiếng Anh)
Định nghĩa các biến môi trường đang hoạt động. Để chỉ định nhiều biến, có thể định nghĩa một biến trên mỗi dòng. Ví dụ:
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
Định nghĩa kích thước của terminal. Mặc định, nó được chỉ định bằng ký tự nhưng cũng có thể được định nghĩa bằng pixel. Ví dụ: "80x25" hoặc "640x480px". Nếu không định nghĩa giá trị nào, sẽ sử dụng "80x25".
Định nghĩa một thời gian chờ để nhận dữ liệu cho mỗi lệnh trong định dạng T#. Nếu không định nghĩa thời gian chờ, sẽ sử dụng T#150ms. Nếu giá trị này không đủ cao, có thể nhiều lệnh sẽ được thực thi trong quá trình xuất dữ liệu.
Thiết lập một thời gian chờ trong định dạng T# để thực thi tất cả các lệnh. Sau khi đạt được, kết nối sẽ bị kết thúc và giá trị sẽ được trả về. Trong trường hợp này, ERROR sẽ được đặt thành TRUE. Thời gian chờ được đánh giá sau khi thiết lập kết nối và xác thực. Nếu đầu vào PTY được đặt thành "exec", thì thời gian thực thi sẽ được đánh giá trên toàn bộ khoảng thời gian. Nếu không định nghĩa thời gian chờ, sẽ sử dụng T#300s.
Đầu ra trả về một xung khi thành công để thực hiện hoạt động tiếp theo. Xung xảy ra khi kết thúc quá trình, ngay cả khi có lỗi xảy ra.
Trả về giá trị trả lại của lệnh khi thực thi thành công. Giá trị được lưu trữ cho sử dụng sau này.
Ghi Chú: Hãy lưu ý rằng console định dạng đầu ra. Do đó, có thể chứa các ký tự điều khiển hoặc dữ liệu nhị phân.
Trả về giá trị trả lại của lệnh khi thực thi không thành công. Trong trường hợp SSH cũng được gọi là STDERR. Giá trị được lưu trữ cho sử dụng sau này.
Ghi Chú: Hãy lưu ý rằng console định dạng đầu ra. Do đó, có thể chứa các ký tự điều khiển hoặc dữ liệu nhị phân.
Trả về một văn bản với thông báo lỗi trong trường hợp lỗi. Nó là FALSE, nếu không có lỗi nào xảy ra. Trạng thái được lưu trữ cho sử dụng sau này.
Các nguyên nhân có thể: