นี่คือคำสั่ง expect-lite ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
expect-lite - เครื่องมืออัตโนมัติบรรทัดคำสั่งที่ง่ายและรวดเร็ว
เรื่องย่อ
คาดหวัง lite [-vv] -c [-r ] [ค่าคงที่=ค่า] [*ผู้กำกับ] [-h|--ช่วยเหลือ]
or
script.elt [-vv] [ร=] [ค่าคงที่=ค่า] [*ผู้กำกับ] [-h|--ช่วยเหลือ]
DESCRIPTION
เขียนใน Expect ออกแบบมาเพื่อจับคู่เซสชันเทอร์มินัลแบบโต้ตอบกับ an . โดยตรง
สคริปต์อัตโนมัติ สคริปต์ expect-lite ใช้อักขระเครื่องหมายวรรคตอนขึ้นต้น
แต่ละบรรทัดเพื่อระบุการกระทำ สามารถสร้างสคริปต์ expect-lite ขั้นพื้นฐานได้โดยง่าย
การตัดและวางข้อความจากหน้าต่างเทอร์มินัลลงในสคริปต์ และเพิ่ม > < อักขระ
ไม่จำเป็นต้องมีความรู้เกี่ยวกับความคาดหวัง
การใช้งาน: expect-lite remote_host= cmd_file=
[user_dir= ] [const1=value1] [*ทิศทาง]
หรือแบบสั้น: expect-lite r= ค= [d= ]
[const1=value1] [*ทิศทาง]
เช่น. ./expect-lite r=host-008 c=pm_alt.elt d=/local/sw myvar=myvalue *NOCOLOR
ตัวเลือกการเข้าสู่ระบบเพิ่มเติม: user_name= user_password=
เช่น. ./expect-lite r=host-008 c=pm_alt.elt u=superuser p=mysecret
ตัวเลือกการดีบักเพิ่มเติม: -v|-vv|--รายละเอียด
-v พิมพ์คำเตือนและข้อมูล (เช่น เงื่อนไข การกำหนด var แบบไดนามิก)
-vv|--รายละเอียด
พิมพ์คำเตือนและดีบัก (เช่น คาดหวังข้อมูลการจับคู่)
เช่น. ./expect-lite -vr=host-008 c=pm_alt.elt
ตัวเลือกความช่วยเหลือที่ผู้ใช้กำหนด: -h|--ช่วยด้วย
แสดงข้อความช่วยเหลือที่ผู้ใช้กำหนด (แบ่งเขตโดย ;;;) และตัวแปรที่กำหนดในสคริปต์
ซึ่งสามารถแทนที่ด้วยค่าคงที่บนบรรทัดคำสั่ง
คำสั่ง เรื่องย่อ
นี่เป็นเพียงเรื่องย่อของ คาดหวัง lite คำสั่งเพื่อเป็นเครื่องเตือนใจ
ใครรู้บ้าง คาดหวัง lite; เอกสารอื่นๆ (เช่น เอกสาร html) จะต้อง
จะได้รับคำปรึกษาสำหรับคำอธิบายที่สมบูรณ์เพิ่มเติม
พิเศษ ตัวอักษร
> รอรับข้อความแจ้ง จากนั้นส่งสตริงไปยังรีโมตโฮสต์
>> ส่งสตริงไปยังรีโมตโฮสต์โดยไม่ต้องรอพรอมต์
< string/regex ต้องได้รับจากรีโมตโฮสต์ในช่วงเวลาที่กำหนดหรือ
สคริปต์จะล้มเหลว!
<< ต้องได้รับสตริงตามตัวอักษร (คล้ายกับ '<' โดยไม่มีการประเมิน regex)
-< ไม่คาดหวัง หากได้รับ string/regex IS จากรีโมตโฮสต์ สคริปต์จะล้มเหลว!
~< คาดฟัซซี่ คาดหวังตัวเลขโดยประมาณ (ทศนิยมหรือฐานสิบหก)
# ใช้เพื่อระบุบรรทัดความคิดเห็น และไม่มีผล
; ยังใช้เพื่อระบุบรรทัดความคิดเห็น แต่จะพิมพ์ไปที่ stdout (สำหรับการบันทึก)
; ความคิดเห็น
เพิ่มบรรทัดความคิดเห็นสีที่กำหนดเอง, สีอาจเป็นสีน้ำเงิน, ltblue, เทา, ltgray, สีฟ้า,
ดำ, ชมพู, ม่วง, แดง, เขียว, เหลือง
;; คล้ายกับด้านบน แต่ไม่มีการพิมพ์ขึ้นบรรทัดใหม่ (มีประโยชน์สำหรับการพิมพ์สคริปต์
ช่วย)
;;; ทำเครื่องหมายจุดเริ่มต้นและจุดสิ้นสุดของบล็อกข้อความช่วยเหลือ ข้อความช่วยเหลือคือความช่วยเหลือที่ผู้ใช้กำหนด
สำหรับสคริปต์และพิมพ์เมื่อ -h หรือ --help อยู่ในบรรทัดคำสั่ง
@num เปลี่ยนการหมดเวลาที่คาดไว้เป็นจำนวนวินาที
:num สลีปเป็นเวลา num วินาที รองรับมิลลิวินาที เช่น :1.005 คือ 1005 mili-
วินาที
$var= กำหนดตัวแปรคงที่เมื่อเรียกใช้สคริปต์ ชื่อตัวแปรจำกัดเฉพาะตัวอักษร
ตัวเลขและขีดล่าง
+$var= การกำหนดตัวแปรแบบไดนามิก
+$var ค่าที่เพิ่มขึ้นของ $var โดย 1 ทศนิยม
-$var ค่าที่ลดลงของ $var โดย 1 ทศนิยม
=$var ฟังก์ชันทางคณิตศาสตร์ ดำเนินการระดับบิตและการคำนวณ: << >> & | ^ * / % + -
(ดูฟังก์ชันทางคณิตศาสตร์)
=$str ฟังก์ชันคณิตศาสตร์สตริง ถ้า $str เป็นสตริง ให้ดำเนินการกับสตริง:
//search/replace/ + - (ดูฟังก์ชันคณิตศาสตร์สตริงในเอกสารประกอบ)
! ระบุเส้นคาดที่ฝังไว้
? c-style if/then/else ในรูปแบบ ?cond?action::else_action บล็อคโค้ดก็เช่นกัน
รองรับคำสั่ง action และ else_action เช่น
?ถ้า $i < $n ? [
>ส่งสตริง
<คาดหวังสตริง
-
>ส่งสตริงอื่น
<คาดหวังสตริงอื่น
]
[ ขณะวนซ้ำ ใช้บล็อคโค้ดเช่น
[ $i < $n
+$ฉัน
]
Foreach Loop โดยใช้โค้ดบล็อก การวนซ้ำแต่ละรายการ $item ถูกกำหนดรายการถัดไปใน
รายการ. รายการ ต้อง คั่นด้วยช่องว่างเช่น
$thelist=ab ซีดี ef
[ $item=$รายการ
>echo $item
]
% label - ใช้สำหรับกระโดดไปที่ label
~ชื่อไฟล์ [constant=value] [constant=value พร้อมช่องว่าง]
รวมถึงไฟล์สคริปต์ expect-lite ซึ่งมีประโยชน์สำหรับการสร้างไฟล์ตัวแปรทั่วไป
หรือ 'โปรแกรมย่อย/รูทีนย่อย' สามารถส่งผ่านพารามิเตอร์ทางเลือกซึ่งจะแทนที่ (as
ค่าคงที่) ตัวแปรในไฟล์รวม ค่าคงที่ที่ส่งผ่านอาจมี
ช่องว่าง ไม่ต้องใส่เครื่องหมายคำพูด
คำแนะนำ
*~ชื่อไฟล์
รวมสคริปต์ที่ล้มเหลวซึ่ง expect-lite จะทำงานก็ต่อเมื่อสคริปต์หลักล้มเหลว
*/พรอมต์/
ตั้งค่าพรอมต์ที่ผู้ใช้กำหนด (กำหนดใน regex)
*ภาคเรียน
ยุติสคริปต์ทันที และส่งคืนค่า N หากไม่ได้ระบุ N
ส่งคืน 0
*PASS ยุติสคริปต์ทันที และคืนค่า 0 (ผ่าน)
*FAIL ทำให้สคริปต์ล้มเหลวทันที และคืนค่า 1 (ล้มเหลว) เว้นแต่ว่า *NOFAIL ถูกตั้งค่า จากนั้นจึงใช้สคริปต์
จะทำงานจนเสร็จและกลับ 1
*โนเฟล
สคริปต์จะทำงานจนเสร็จ และส่งคืน 1 หากเกิดความล้มเหลวระหว่างการดำเนินการ
หรือ 0 ถ้าผ่าน (ติดธงแล้วยกเลิกไม่ได้)
**เชลล์=
คำสั่งการกำหนดค่าซึ่งตั้งค่าเชลล์ทันทีหลังจากเข้าสู่ระบบอัตโนมัติไปยัง
โฮสต์ระยะไกล (ดูการตั้งค่าเชลล์)
*ปฏิสัมพันธ์
เบรกพอยต์ซึ่งกำหนดให้ผู้ใช้อยู่ในโหมดโต้ตอบ และหยุดสคริปต์ชั่วคราวแล้วเปลี่ยน
ควบคุมแป้นพิมพ์ให้กับผู้ใช้
*ไม่มีการโต้ตอบ
เมื่อตั้งค่าแล้ว จะไม่สนใจเบรกพอยต์ที่สำเร็จทั้งหมด (*INTERACT) อนุญาตให้วิ่งได้
สคริปต์หรือสคริปต์ในการถดถอยแบบไม่ต้องใส่ข้อมูล ไม่สามารถยกเลิกการตั้งค่านี้ได้ (คือ a
ธงเหนียว)
*ส้อม
รองรับหลายเซสชัน ชี้นำ expect-lite ให้เปิดเซสชั่นใหม่และวางไข่ a
เปลือกใหม่
*แสดงVARS
ข้อมูลดีบัก แสดงตัวแปร expect-lite ทั้งหมด สามารถใช้ในการโต้ตอบ
โหมด.
*แสดง ENV
ข้อมูลดีบัก แสดงสภาพแวดล้อมที่คาดหวัง รวมถึงสถานะของคำสั่ง
ตัวนับลูปอนันต์ ชื่อไฟล์บันทึก (ถ้าใช้) และตัวแปรสภาพแวดล้อม เป็นไปได้
ใช้ในโหมดโต้ตอบ
*INFINITE_LOOP น
ค่าการป้องกันลูปอนันต์ ตั้งค่า N เป็นค่าใหม่
*EOLS LF|*EOLS CRLF
ควบคุมลำดับการสิ้นสุดบรรทัดที่ส่งไปยังโฮสต์ระยะไกล ไม่ว่าจะเป็นการป้อนบรรทัด หรือ carriage
กลับ + ป้อนบรรทัด
*DVPROMPT|*NODVPROMPT
เปิด/ปิดใช้งานวิธีการจับภาพ Dynamic Variable เพื่อกำหนดให้มีข้อความแจ้งต่อท้าย
(ค่าเริ่มต้น=*DVPROMPT)
*ไม่รวม
เมื่อตั้งค่าแล้ว จะละเว้นไฟล์ที่รวมสำเร็จทั้งหมด (บรรทัดที่ขึ้นต้นด้วย ~) นี้
เป็นพฤติกรรมเริ่มต้นในโหมดไลบรารี (แนะนำใน v4.1) พฤติกรรมนี้คือ
ไม่มีค่าเริ่มต้นอีกต่อไป และคำสั่งนี้มีวิธีการทำงานก่อนหน้านี้
เข้าสู่ระบบ
การบันทึกประกอบด้วยสองการดำเนินการ: 1) การเขียนสคริปต์เอาต์พุตไปยังไฟล์ 2) การควบคุม
ข้อความเพิ่มเติม เช่น ข้อมูล exp_info และคำเตือน คำสั่งการบันทึกทั้งหมดเมื่อใช้
บน CLI จะแทนที่สิ่งเหล่านั้นภายในสคริปต์
*ล็อก|*NOLOG
เปิด/ปิดใช้งานการบันทึกมาตรฐานและข้อความไปยังไฟล์ ชื่อไฟล์บันทึก
จะ บันทึก .log ในไดเร็กทอรีสคริปต์ (ดู ตัวแปรสภาพแวดล้อม
EL_LOG_EXT ด้านล่าง)
*บันทึก |*LOGAPPEND
เปิดใช้งานการบันทึกไปยังพาธ/file_name ที่ผู้ใช้ระบุ เมื่อเรียกใช้บน CLI, the
file_name ที่ระบุต้องลงท้ายด้วย ".log" (หรือตามที่กำหนดโดย EL_LOG_EXT) เพื่อหลีกเลี่ยง
ความคลุมเครือ
*ข้อมูล|*NOINFO
เปิด/ปิด ข้อความแสดงข้อมูล
*EXP_INFO|*NOEXP_INFO
เปิด/ปิดข้อความ "คาดหวัง" (ใช้แฟล็ก -V เพื่อเปิดใช้งานเพิ่มเติม)
*เตือน|*ตอนนี้
เปิด/ปิดข้อความเตือน
*ดีบัก|*NODEBUG
เปิด/ปิดข้อความแก้ไขข้อบกพร่อง
*โนคัลเลอร์
ปิดใช้งานสีบน stdout
*ประทับเวลา
พิมพ์วันที่และเวลาด้วยความแม่นยำระดับมิลลิวินาที สำหรับแต่ละคำสั่งที่ส่ง ISO is
ค่าเริ่มต้น. เวลาจะถูกเขียนลงในไฟล์บันทึกเมื่อใช้ *LOG
*NOTIMESTAMP
ปิดใช้งานการพิมพ์ประทับเวลา
สิ่งแวดล้อม ตัวแปร
ไม่จำเป็นต้องแก้ไขสคริปต์ expect-lite ด้วยตนเองอีกต่อไป พารามิเตอร์ทั้งหมดเช่น
เนื่องจาก connect_method ชื่อล็อกอินและรหัสผ่านจะถูกควบคุมผ่านตัวแปรสภาพแวดล้อมของเชลล์
สิ่งนี้อนุญาตการปรับแต่งส่วนบุคคลในสภาพแวดล้อมที่มีผู้ใช้หลายคน ขอแนะนำ
บันทึกค่าเหล่านี้ใน .expect-ลิตร และแหล่งที่มาจาก .bashrc หรือ .cshrc หากตั้งค่าไว้ ค่า
ตัวแปรสภาพแวดล้อมต่อไปนี้จะถูกใช้:
EL_CONNECT_วิธี
วิธีการ expect-lite ใช้เพื่อเชื่อมต่อกับโฮสต์ระยะไกล ตัวเลือกที่ถูกต้องคือ:
none|telnet|ssh|ssh_key ค่าเริ่มต้นคือ none
EL_CONNECT_USER
ชื่อผู้ใช้สำหรับเข้าสู่ระบบบนรีโมตโฮสต์ (telnet|ssh)
EL_CONNECT_PASS
รหัสผ่านสำหรับเข้าสู่ระบบบนรีโมตโฮสต์ (telnet|ssh)
EL_INFINITE_LOOP=น
ค่าการป้องกันการวนซ้ำไม่สิ้นสุด ตั้งค่า N เป็นค่าเริ่มต้นของผู้ใช้
EL_DELAY_WAIT_FOR_HOST
หน่วงเวลา (เป็นมิลลิวินาที) เพื่อรอโฮสต์ใน "ไม่คาดหวัง" และ "Dynamic Var Capture" 100 ms คือ a
คุ้มค่าสำหรับ LAN ในพื้นที่ 200 ms หากทำงานผ่านอินเทอร์เน็ตความเร็วสูง
EL_REMOTE_HOST
ชื่อหรือ IP ของรีโมตโฮสต์
EL_CMD_FILE
ชื่อของสคริปต์ expect-lite ที่จะเรียกใช้
EL_USER_DIR
เปลี่ยนเป็นไดเร็กทอรีนี้เมื่อเข้าสู่ระบบก่อนรันสคริปต์
EL_SHELL
เริ่มเชลล์นี้ (ทุบตีเริ่มต้น) เมื่อใช้ EL_CONNECT_METHOD=none
EL_DYN_VAR_PROMPT
ตั้งค่าวิธีการจับภาพ Dynamic Variable เพื่อกำหนดให้มีพร้อมต์ (ค่าเริ่มต้น=1) ปิดการใช้งานโดย
ตั้งค่าเป็น 0
EL_LOG_EXT
ตั้งค่าสตริงนามสกุลไฟล์บันทึก (default=".log") ซึ่งต่อท้าย
ชื่อสคริปต์เมื่อใช้ *LOG โดยไม่มีอาร์กิวเมนต์ชื่อไฟล์หรือใช้เพื่อตรวจหาไฟล์บันทึก
ชื่อบนบรรทัดคำสั่ง
EL_* ตัวแปรสภาพแวดล้อมเชลล์อื่นๆ ที่ขึ้นต้นด้วย EL_ จะกลายเป็นค่าคงที่
Debugger (SDI)
ดีบักเกอร์ทำหน้าที่หลักสามประการ: 1) เชื่อมต่อผู้ใช้กับโฮสต์ระยะไกล
หรืออุปกรณ์ที่อยู่ระหว่างการทดสอบ 2) การตรวจสอบคำสั่งพิเศษที่นำหน้าด้วยปุ่ม Escape สำหรับ
การก้าวและฟังก์ชันอื่น ๆ และ 3) ดีบักเกอร์จะอนุญาตให้บรรทัดสคริปต์ที่คาดหวังเป็น
ดำเนินการโดยการพิมพ์โดยตรงหรือวางลงใน IDE
ดีบักเกอร์ถูกเรียกใช้ที่จุดพักโดยการวางคำสั่ง *INTERACT ในสคริปต์ หรือ
ใช้โดยการโต้ตอบแบบทันทีได้ตลอดเวลาในระหว่างการเรียกใช้สคริปต์โดยกด
ctrl+แบ็กสแลช ^\
s Step, ดำเนินการขั้นตอนต่อไปใน script
k sKip ขั้นตอนต่อไปในสคริปต์
c ดำเนินการตามสคริปต์ต่อไป
v แสดง Vars แสดงตัวแปรและค่าที่คาดหวัง
e แสดงสภาพแวดล้อม แสดงสภาพแวดล้อมที่คาดหวัง
0to9
แสดง N บรรทัดถัดไปของสคริปต์
-1to-9
แสดง N บรรทัดสุดท้ายของสคริปต์
ctrl+d ออก & ออก คาดหวัง lite
h แสดง Help
[วางบรรทัด]
รันบรรทัดที่วางจากสคริปต์ลงใน IDE
[พิมพ์บรรทัดที่คาดหวังใด ๆ ]
รันสคริปต์ expect-lite ที่พิมพ์ใด ๆ
ใช้ expect-lite ออนไลน์โดยใช้บริการ onworks.net