รันสคริปต์
Shell รันสคริปต์ Bash ของคุณใน WSL หรือผ่าน SSH และแสดงโค้ดสถานะจริงในแชท
โค้ดสถานะ Bash คือตัวเลขที่คำสั่งส่งคืนเมื่อสิ้นสุด: 0 หมายถึงสำเร็จ และ 1 ถึง 255 หมายถึงล้มเหลว Pageferry รันสคริปต์ของคุณด้วย Shell อ่านตัวเลขนั้นจากกระบวนการจริง และแสดงไว้ในการ์ดแชทถัดจากผลลัพธ์ มันยังแก้ไขไฟล์ได้ โดยแสดง diff ก่อน
Shell รันสคริปต์ Bash ของคุณใน WSL หรือผ่าน SSH และแสดงโค้ดสถานะจริงในแชท
read_file และ grep แสดงสคริปต์ของคุณในแชท เพื่อให้คุณสามารถค้นหาว่า $1 และ $2 ถูกใช้ที่ไหน
edit_file เสนอการเปลี่ยนแปลงและแสดง diff ภายใต้ Ask first มันจะรอการยืนยันจากคุณ
แต่ละการกระทำกลายเป็นการ์ดในแชท Shell รายงานโค้ดสถานะจริง edit_file แสดง diff และ Ask first รอการยืนยันจากคุณก่อนมีการเปลี่ยนแปลง เปิดการ์ดเพื่ออ่านผลลัพธ์เต็มหรือ diff เต็ม
bash check.sh a bexit 0bash check.shexit 2check.shreadexit3 matchesbash -n check.shexit 0คุณถามเอเยนต์เพื่อค้นหาสิ่งที่เกิดขึ้นเมื่อ check.sh ไม่ได้รับอาร์กิวเมนต์ read_file เปิดสคริปต์ และ Shell รัน bash check.sh โดยไม่มีอาร์กิวเมนต์ต่อจากชื่อ การ์ดแสดงผลลัพธ์จริงและโค้ดสถานะ ซึ่งคือ 2 หากสคริปต์พิมพ์ข้อความการใช้งานไปยัง standard error และจบด้วย exit 2 โค้ดสถานะ bash ของคำสั่งล่าสุดอยู่ใน $? และผู้เรียกเห็นเพียงตัวเลขนั้น ดังนั้นสคริปต์ที่จบด้วยโค้ดที่ชัดเจนจึงทดสอบได้ง่ายกว่าสคริปต์ที่คืนค่า 1 เสมอ จากนั้น Shell รันสคริปต์อีกครั้งด้วยค่าสองค่า และการ์ดควรแสดง 0 หากโค้ดทำให้คุณประหลาดใจ ให้อ่านการ์ด จากนั้นให้ edit_file เสนอการแก้ไขภายใต้ Ask first และตรวจสอบ diff
คุณพิมพ์ “อธิบาย getopt ให้ฉัน” และเอเยนต์ตอบเป็นภาษาธรรมดา: getopts เป็นคำสั่งสร้างใน Bash สำหรับตัวเลือกสั้นๆ เช่น -v หรือ -f file ในขณะที่ getopt เป็นคำสั่งแยกต่างหากที่จัดการตัวเลือกยาวๆ เช่น --file และมีพฤติกรรมต่างกันในระบบต่างๆ จากนั้น read_file เปิดสคริปต์ของคุณ edit_file เพิ่มลูป getopts และคุณเห็น diff Shell รันสคริปต์ด้วย -v, ด้วย -f และด้วยตัวเลือกที่ผิด และแต่ละการ์ดมีโค้ดสถานะของตัวเอง ตัวเลือกที่ผิดควรจบด้วย 2 ซึ่งเป็นโค้ดทั่วไปสำหรับการใช้งานที่ผิด สำหรับตัวเลือกจำนวนน้อย ลูป while พร้อม case และ shift เพียงพอ ดังนั้นให้ขอเวอร์ชันนั้นหากคุณชอบมัน ยอมรับ diff เฉพาะหลังจากที่คุณอ่านมันแล้ว
การส่งอาร์กิวเมนต์ที่มีช่องว่างไปยังสคริปต์จะล้มเหลวหากค่าไม่มีการใส่เครื่องหมายคำพูด เพราะ shell จะแยกคำเหล่านั้นเป็นคำแยกกัน เอเยนต์อ่านไฟล์ด้วย read_file พบ $1 และ $@ ที่ไม่มีเครื่องหมายคำพูด และ edit_file เสนอใส่เครื่องหมายคำพูดคู่รอบๆ ค่าเหล่านั้น จากนั้น Shell รันสคริปต์ด้วยค่าเช่น "two words" และผลลัพธ์แสดงว่ามันมาถึงเป็นบรรทัดเดียวหรือสองบรรทัด หนึ่งในเคล็ดลับในการจัดการอาร์กิวเมนต์บรรทัดคำสั่งคือ shift ซึ่งลบค่าแรกออกเพื่อให้ลูปสามารถวนผ่านค่าที่เหลือได้ และเอเยนต์สามารถเพิ่มมันใน diff เดียวกัน ภายใต้ Ask first การแก้ไขจะรอคุณ ตรวจสอบ diff รันการทดสอบอีกครั้ง และเปรียบเทียบผลลัพธ์ทั้งสองด้วยตัวเอง
ใครก็ตามที่ค้นหา “bash exit script” มักจะกำลังมองหา exit builtin: exit N จบสคริปต์ด้วยสถานะ N ในขณะที่ return N ออกเพียงฟังก์ชัน เอเยนต์สามารถเพิ่ม set -eu และ set -o pipefail ที่ด้านบน เพื่อให้สคริปต์หยุดเมื่อเกิดข้อผิดพลาดและเมื่อตัวแปรยังไม่ได้กำหนด จากนั้นรันไฟล์ด้วย bash -n เพื่อตรวจสอบไวยากรณ์และด้วย bash -x เพื่อพิมพ์แต่ละคำสั่ง หาก return ไม่ให้สถานะของคำสั่งล่าสุด มักมีคำสั่งอื่นรันระหว่างทาง เพราะ $? เก็บเฉพาะโค้ดสถานะของคำสั่งล่าสุดที่สุด การ์ด Shell แสดงการติดตาม อ่านมันจากด้านบน เปรียบเทียบกับสคริปต์และตัดสินใจว่าการแก้ไขคงอยู่หรือไม่
Pageferry เป็นแอปเดสก์ท็อปสำหรับ Windows ไม่ใช่บริการโฮสต์หรือปลั๊กอิน มันออกแบบมาสำหรับไฟล์ของคุณเอง พีซีของคุณ และเซิร์ฟเวอร์ที่คุณได้รับอนุญาตให้ใช้งาน คุณเก็บงานภายในขอบเขตนั้น เพราะเอเยนต์ไม่ได้บังคับใช้ และ Shell, web และ SSH ไม่ได้จำกัดอยู่เพียงโฟลเดอร์ทำงาน รหัสและผลลัพธ์อาจผิดพลาดได้ ดังนั้นให้ตรวจสอบ diff และทดสอบ Secrets ที่ปรากฏในผลลัพธ์ของเครื่องมือจะถูกปิดบังก่อนส่งไปยังโมเดล