ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

autoexpect - ออนไลน์ใน Cloud

เรียกใช้ autoexpect ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง autoexpect ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


autoexpect - สร้างสคริปต์ Expect จากการดูเซสชัน

เรื่องย่อ


คาดหวังอัตโนมัติ [ args ] [ โครงการ อาร์กิว... ]

บทนำ


autoexpect เฝ้าดูคุณโต้ตอบกับโปรแกรมอื่นและสร้างสคริปต์ Expect ที่
ทำซ้ำการโต้ตอบของคุณ สำหรับสคริปต์เส้นตรง autoexpect ช่วยประหยัดเวลาได้มาก
มากกว่าการเขียนสคริปต์ด้วยมือ แม้ว่าคุณจะเป็นผู้เชี่ยวชาญที่คาดหวัง คุณจะพบมัน
สะดวกในการใช้ autoexpect เพื่อทำให้ส่วนโต้ตอบที่ไม่สนใจมากขึ้นโดยอัตโนมัติ มันคือ
ตัด/วางสคริปต์ autoexpect จำนวนมากได้ง่ายกว่าการเขียนจาก
เกา. และถ้าคุณเป็นมือใหม่ คุณอาจจะไม่ต้องเรียนรู้อะไรเลยก็ได้
เกี่ยวกับ Expect มากกว่าวิธีการเรียก autoexpect

วิธีที่ง่ายที่สุดในการใช้ autoexpect คือการเรียกจากบรรทัดคำสั่งโดยไม่มีอาร์กิวเมนต์
ตัวอย่างเช่น:

% คาดหวังอัตโนมัติ

ตามค่าเริ่มต้น autoexpect จะสร้างเชลล์ให้คุณ กำหนดชื่อโปรแกรมและอาร์กิวเมนต์
autoexpect วางไข่โปรแกรมนั้น ตัวอย่างเช่น:

% คาดหวังอัตโนมัติ ftp ftp.cme.nist.gov

เมื่อโปรแกรมที่เกิดของคุณทำงาน ให้โต้ตอบตามปกติ เมื่อคุณออกจากเปลือก
(หรือโปรแกรมที่คุณระบุ) autoexpect จะสร้างสคริปต์ใหม่ให้คุณ โดยค่าเริ่มต้น,
autoexpect เขียนสคริปต์ใหม่ไปที่ "script.exp" คุณสามารถแทนที่สิ่งนี้ด้วยแฟล็ก -f
ตามด้วยชื่อสคริปต์ใหม่

ตัวอย่างต่อไปนี้จะเรียกใช้ "ftp ftp.cme.nist.gov" และจัดเก็บสคริปต์ Expect . ที่เป็นผลลัพธ์
ในไฟล์ "nist"

% คาดหวังอัตโนมัติ -f nist ftp ftp.cme.nist.gov

สิ่งสำคัญคือต้องเข้าใจว่า autoexpect ไม่รับประกันสคริปต์ที่ใช้งานได้เพราะ
จำเป็นต้องเดาเกี่ยวกับบางสิ่ง และบางครั้งก็เดาผิด
อย่างไรก็ตาม การระบุและแก้ไขปัญหาเหล่านี้มักทำได้ง่ายมาก ปัญหาทั่วไป
คือ:

· เวลา. โปรแกรมจำนวนมากอย่างน่าประหลาดใจ (rn, ksh, zsh, telnet เป็นต้น)
และอุปกรณ์ (เช่น โมเด็ม) ละเว้นการกดแป้นพิมพ์ที่มาถึง "เร็วเกินไป" หลังจาก
พร้อมท์ หากคุณพบว่าสคริปต์ใหม่ของคุณค้างอยู่ที่จุดใดจุดหนึ่ง ให้ลองเพิ่ม a
นอนหลับสั้นก่อนส่งครั้งก่อน

คุณสามารถบังคับพฤติกรรมนี้โดยแทนที่ตัวแปร
"force_conservative" ใกล้กับจุดเริ่มต้นของสคริปต์ที่สร้างขึ้น นี้
โหมด "อนุรักษ์นิยม" ทำให้ autoexpect หยุดโดยอัตโนมัติชั่วครู่หนึ่ง (หนึ่งในสิบของ
วินาที) ก่อนส่งตัวละครแต่ละตัว สิ่งนี้ทำให้ทุกโปรแกรมที่ฉันรู้จักสงบลง
ของ.

โหมดอนุรักษ์นิยมนี้มีประโยชน์หากคุณต้องการสร้างความมั่นใจอย่างรวดเร็ว
ว่าปัญหาคือเรื่องจังหวะเวลา (หรือถ้าไม่สนใจจริงๆ ว่าจะเร็วแค่ไหน
สคริปต์ทำงาน) โหมดเดียวกันนี้สามารถบังคับได้ก่อนที่จะสร้างสคริปต์โดย
โดยใช้แฟล็ก -c

โชคดีที่จุดเวลาเหล่านี้หายาก ตัวอย่างเช่น telnet ละเว้น
อักขระหลังจากป้อนลำดับการหลบหนีเท่านั้น โมเด็มเท่านั้นละเว้น
ตัวละครทันทีหลังจากเชื่อมต่อกับพวกเขาเป็นครั้งแรก จำนวนน้อย
โปรแกรมแสดงพฤติกรรมนี้ตลอดเวลา แต่โดยทั่วไปแล้วจะมีการสลับไปที่
ปิดการใช้งาน ตัวอย่างเช่น แฟล็ก -T ของ rn ปิดใช้งานลักษณะการทำงานนี้

ตัวอย่างต่อไปนี้เริ่มต้น autoexpect ในโหมดอนุรักษ์นิยม

คาดหวังอัตโนมัติ -c

แฟล็ก -C กำหนดคีย์เพื่อสลับโหมดอนุรักษ์นิยม ตัวอย่างต่อไปนี้
เริ่ม autoexpect (ในโหมดไม่อนุรักษ์นิยม) โดยมี ^L เป็นปุ่มสลับ (โปรดทราบว่า
^L ถูกป้อนตามตัวอักษร - เช่น ป้อนการควบคุมจริง-L)

คาดหวังอัตโนมัติ -C ^L

ตัวอย่างต่อไปนี้เริ่มต้น autoexpect ในโหมดอนุรักษ์นิยมด้วย ^L เป็น
ข้อศอก

คาดหวังอัตโนมัติ -c -C ^L

· เสียงสะท้อน อักขระสะท้อนหลายโปรแกรม ตัวอย่างเช่น หากคุณพิมพ์ "เพิ่มเติม" ลงใน a
เชลล์ สิ่งที่ autoexpect เห็นจริงคือ:

คุณพิมพ์ 'm'
คอมพิวเตอร์พิมพ์ 'm'
คุณพิมพ์ 'o'
คอมพิวเตอร์พิมพ์ 'o'
คุณพิมพ์ 'r'
คอมพิวเตอร์พิมพ์ 'r'
...

ถ้าไม่มีความรู้เฉพาะของโปรแกรม เป็นไปไม่ได้ที่จะรู้ว่าคุณคือ
รอให้ตัวละครแต่ละตัวสะท้อนออกมาก่อนจะพิมพ์ต่อไป หากคาดหวังอัตโนมัติ
เห็นตัวอักษรถูกสะท้อน ถือว่าส่งได้หมดทั้งกลุ่ม
แทนที่จะสอดแทรกพวกเขาในลักษณะที่ปรากฏ สิ่งนี้ทำให้
สคริปต์น่าอ่านยิ่งขึ้น อย่างไรก็ตาม มันอาจจะไม่ถูกต้องหาก
คุณต้องรอดูตัวละครแต่ละตัวสะท้อนออกมาจริงๆ

· เปลี่ยน. Autoexpect บันทึกทุกตัวอักษรจากการโต้ตอบในสคริปต์
นี้เป็นสิ่งที่พึงปรารถนาเพราะมันทำให้คุณสามารถตัดสินใจเกี่ยวกับ
สิ่งที่สำคัญและสิ่งที่สามารถแทนที่ด้วยการจับคู่รูปแบบ

ในทางกลับกัน ถ้าคุณใช้คำสั่งที่มีเอาต์พุตแตกต่างจากรันถึงรัน
สคริปต์ที่สร้างขึ้นจะไม่ถูกต้อง ตัวอย่างเช่น "วันที่"
คำสั่งสร้างผลลัพธ์ที่แตกต่างกันเสมอ ดังนั้นใช้คำสั่ง date while
การรัน autoexpect เป็นวิธีที่แน่นอนในการผลิตสคริปต์ที่จะต้องแก้ไข
เพื่อให้มันทำงานได้

แฟล็ก -p กำหนดให้ autoexpect เป็น "โหมดพร้อมท์" ในโหมดนี้ autoexpect จะ
มองหาเฉพาะบรรทัดสุดท้ายของเอาต์พุตโปรแกรม - ซึ่งมักจะเป็น
พร้อมท์ สิ่งนี้จะจัดการกับปัญหาวันที่ (ดูด้านบน) และอื่นๆ ส่วนใหญ่

ตัวอย่างต่อไปนี้เริ่มต้น autoexpect ในโหมดพร้อมท์

คาดหวังอัตโนมัติ -p

แฟล็ก -P กำหนดคีย์เพื่อสลับโหมดพร้อมต์ ตัวอย่างต่อไปนี้เริ่มต้น
autoexpect (ในโหมดไม่พร้อมท์) โดยมี ^P เป็นปุ่มสลับ โปรดทราบว่า ^P คือ
ป้อนตามตัวอักษร - เช่นป้อนการควบคุมจริง -P

คาดหวังอัตโนมัติ -P ^P

ตัวอย่างต่อไปนี้เริ่มต้น autoexpect ในโหมดพร้อมท์โดยมี ^P เป็นปุ่มสลับ

อัตโนมัติ -p -P ^P

อื่น ๆ ธง


พื้นที่ -เงียบ ตั้งค่าสถานะปิดใช้งานข้อความแสดงข้อมูลที่ผลิตโดย autoexpect

พื้นที่ -Q แฟล็กตั้งชื่ออักขระเครื่องหมายคำพูดซึ่งสามารถใช้เพื่อป้อนอักขระที่คาดหวังโดยอัตโนมัติ
มิฉะนั้นจะบริโภคเพราะใช้เป็นตัวสลับ

ตัวอย่างต่อไปนี้แสดงจำนวนแฟล็กพร้อมเครื่องหมายคำพูดที่ใช้ระบุวิธีการป้อน
สลับอย่างแท้จริง

คาดหวังอัตโนมัติ -P ^P -C ^L -Q ^Q

สไตล์


ฉันไม่รู้ว่ามี "สไตล์" สำหรับโปรแกรม Expect หรือไม่ แต่ autoexpect ควรจะเป็นอย่างแน่นอน
ไม่ถือเป็นแบบอย่างใดๆ ตัวอย่างเช่น autoexpect ใช้คุณสมบัติของ Expect
ที่มีไว้สำหรับการเขียนสคริปต์ที่สร้างด้วยคอมพิวเตอร์โดยเฉพาะ ดังนั้นอย่าพยายาม
เขียนสคริปต์ที่ดูเหมือนสร้างขึ้นโดย autoexpect อย่างซื่อสัตย์ มันไม่ใช่
มีประโยชน์

ในทางกลับกัน สคริปต์ autoexpect จะแสดงบางสิ่งที่คุ้มค่า ตัวอย่างเช่น คุณ
สามารถดูว่าต้องยกสตริงใด ๆ เพื่อใช้ในสคริปต์ Tcl เพียงแค่เรียกใช้
สตริงผ่าน autoexpect

ใช้ autoexpect ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    อโวกาโดร
    อโวกาโดร
    Avogadro เป็นโมเลกุลขั้นสูง
    ตัวแก้ไขที่ออกแบบมาสำหรับการใช้งานข้ามแพลตฟอร์ม
    ในวิชาเคมีเชิงคำนวณ โมเลกุล
    การสร้างแบบจำลอง ชีวสารสนเทศ วัสดุ
    วิทยาศาสตร์และ ...
    ดาวน์โหลด Avogadro
  • 2
    เอ็กซ์เอ็มแอลทีวี
    เอ็กซ์เอ็มแอลทีวี
    XMLTV คือชุดของโปรแกรมที่ต้องประมวลผล
    รายการทีวี (tvguide) และช่วยจัดการ
    การดูทีวีของคุณ การจัดเก็บรายการใน an
    รูปแบบ XML มีสาธารณูปโภคให้
    ทำ...
    ดาวน์โหลด XMLTV
  • 3
    ขีดฆ่า
    ขีดฆ่า
    โครงการซอฟต์แวร์ Strrikr ฟรี สิ่งประดิษฐ์
    เผยแพร่ภายใต้ 'เจตนาตาม'
    ใบอนุญาตคู่: AGPLv3 (ชุมชน) และ
    CC-BY-NC-ND 4.0 ระหว่างประเทศ
    (ทางการค้า)...
    ดาวน์โหลด Striker
  • 5
    กิฟลิบ
    กิฟลิบ
    giflib เป็นห้องสมุดสำหรับการอ่านและ
    การเขียนภาพ gif เป็น API และ ABI
    เข้ากันได้กับ libungif ซึ่งอยู่ใน
    ใช้งานได้กว้างในขณะที่การบีบอัด LZW
    อัลกอริทึมคือ...
    ดาวน์โหลด GIFLIB
  • 6
    Alt-F
    Alt-F
    Alt-F ให้โอเพ่นซอร์สฟรีและ
    เฟิร์มแวร์สำรองสำหรับ DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F มี Samba และ NFS;
    รองรับ ext2/3/4...
    ดาวน์โหลด Alt-F
  • เพิ่มเติม»

คำสั่ง Linux

  • 1
    2ปิง6
    2ปิง6
    2ping - ยูทิลิตี้ ping แบบสองทิศทาง ...
    เรียกใช้ 2ping6
  • 2
    2to3-2.7
    2to3-2.7
    2to3-2.7 - ตัวแปลง Python2 เป็น Python3
    ...
    วิ่ง 2to3-2.7
  • 3
    cpqarrayd
    cpqarrayd
    cpqarrayd - ตัวควบคุมอาร์เรย์
    การตรวจสอบ daemon SYNTAX: cpqarrayd [-d]
    [-v] [-t โฮสต์ [-t โฮสต์]] คำอธิบาย:
    โปรแกรมนี้สามารถตรวจสอบ HP
    (คอมแพค) อร่า...
    เรียกใช้ cpqarrayd
  • 4
    ซีโปรโต
    ซีโปรโต
    cproto - สร้างต้นแบบฟังก์ชัน C
    และแปลงนิยามฟังก์ชัน ...
    เรียกใช้ cproto
  • 5
    gapi2-fixup
    gapi2-fixup
    ไม่มีเอกสาร - ไม่มี manpage สำหรับสิ่งนี้
    โปรแกรม. รายละเอียด: โปรแกรมนี้ทำ
    ไม่มี manpage เรียกใช้คำสั่งนี้
    พร้อมตัวช่วยสลับเพื่อดูว่ามันคืออะไร
    ทำ. สำหรับฉ...
    เรียกใช้ gapi2-fixup
  • 6
    gapi2-ตัวแยกวิเคราะห์
    gapi2-ตัวแยกวิเคราะห์
    ไม่มีเอกสาร - ไม่มี manpage สำหรับสิ่งนี้
    โปรแกรม. รายละเอียด: โปรแกรมนี้ทำ
    ไม่มี manpage เรียกใช้คำสั่งนี้
    พร้อมตัวช่วยสลับเพื่อดูว่ามันคืออะไร
    ทำ. สำหรับฉ...
    เรียกใช้ gapi2-parser
  • เพิ่มเติม»

Ad