
ฟังก์ชันบล็อก FS_SHELL จะทำคำสั่งหรือหลายคำสั่งที่อยู่ไกลออกไปในเชลล์แบบอินเตอร์แอ็กทีฟ
ความระวัง: คำสั่งของระบบสามารถทำให้ระบบที่อยู่ไกลออกไปเสี่ยงหรือได้รับความเสียหาย อีกทั้งไฟล์ที่มีอยู่แล้วอาจถูกเขียนทับโดยไม่มีการแจ้งเตือน
ต้องมีการเริ่มต้นไฟล์ระบบก่อนด้วย FS_INIT ทุกครั้งที่ทำงาน ให้ทำงานแบบเอเชียนโซนรอนกับแต่ละอุปกรณ์ที่เก็บข้อมูล
เมื่อมีการเปลี่ยนแปลงเป็นบวก คำสั่งที่ระบุจะถูกทำงาน
กำหนดอุปกรณ์ที่ใช้ในการเข้าถึงไฟล์ อุปกรณ์นี้ใช้ในโครงการและสามารถจัดการได้จากเมนูคอนเท็กซ์ภายใต้ โครงการ อุปกรณ์เก็บข้อมูลภายนอก
ระบุเส้นทางไปยังไดเรกทอรีบนอุปกรณ์ที่เก็บข้อมูล เส้นทางนี้ตรงกับ Unix file path ในรูปแบบ UTF-8 ถ้ามีการสนับสนุน เส้นทางจะถูกแสดงออกมาเช่นนี้:
โฟลเดอร์/ซับโฟลเดอร์
การใช้เส้นทางเป็นตัวเลือก เมื่อมีการตั้งค่าที่เส้นทางนี้ ต้องสำเร็จในการเปลี่ยนไปยังไดเรกทอรีนั้น ถ้าไม่ได้ จะไม่ทำงานคำสั่งที่ต้องการ
กำหนดคำสั่งทั้งหมดที่จะถูกทำงาน คำสั่งเหล่านี้ต้องมีการสิ้นสุดด้วยการขึ้นบรรทัดใหม่ เช่น "ls\n" ถ้าไม่ใช้การสิ้นสุดบรรทัด คำสั่งอาจจะไม่ถูกทำงาน คำสั่งเหล่านี้จะถูกทำงานตามแต่ละบรรทัดหลังจากที่เซิร์ฟเวอร์ได้ให้การตอบกลับ
หลังจากทำงานคำสั่งทั้งหมด ควรส่ง "exit\n" ที่สุดเพื่อปิดการเชื่อมต่อทันทีและคืนค่าที่ได้รับ หลังจากนั้นไม่ควรส่งคำสั่งอื่นๆ เพราะจะทำให้อาต์พุต ERROR ถูกตั้งเป็น TRUE
หมายเหตุ: หากการเชื่อมต่อถูกปิดอย่างไม่คาดคิดและคำสั่งหนึ่งๆ ไม่ได้ถูกส่ง อาต์พุต ERROR จะถูกตั้งเป็น TRUE
กำหนดประเภทของคอนโซล (Pseudo-Terminal) สำหรับบางอุปกรณ์ ค่าตัวแปรนี้เป็นสิ่งจำเป็น ตัวอย่าง: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" เป็นต้น หากไม่ได้กำหนดค่า ค่าที่ใช้เป็น "vanilla"
ค่าที่ "exec" จะทำงานคำสั่งผ่าน SSH command ของระบบปฏิบัติการ ด้วยวิธีที่ทันสมัย แต่วิธีนี้มีประสิทธิภาพน้อยกว่า อินพุต ENV ถูกตั้งค่าก่อนการเชื่อมต่อ ดังนั้นอาจจะถูกละเลยไป อินพุต SIZE จะไม่ถูกใช้ในวิธีนี้
หากต้องการส่ง SSH parameters เพิ่มเติม สามารถเพิ่มได้ในแต่ละบรรทัดหลังจาก "exec" Parameters เป็น case-sensitive และจะถูกระบุตามตัวอย่างด้านล่าง ตัวอย่างนี้เปิดใช้งาน RSA algorithm สำหรับอุปกรณ์เก่า
exec
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa
มีการให้ SSH parameters ดังต่อไปนี้:
| SSH Parameters สำหรับ exec | ตัวอย่างค่า |
|---|---|
| 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 หากไม่มีข้อผิดพลาดเกิดขึ้น สถานะนี้จะถูกเก็บไว้เพื่อการใช้งานในภายหลัง
สาเหตุที่เป็นไปได้: