TechRetriever
ขั้นตอนการทำงาน

สร้างไฟล์สคริปต์ bash ที่อ่านและทดสอบได้

03
งานที่ทำซ้ำ

จากงานที่ทำซ้ำสู่สคริปต์

คนที่ค้นหา “สร้างสคริปต์ bash” หรือ “เขียนสคริปต์ bash” มักมีงานหนึ่งอย่างที่ต้องทำซ้ำด้วยมือ เช่น นับไฟล์ล็อกในโฟลเดอร์ เริ่มจากงานเดียว เป้าหมายคือไฟล์ที่คุณอ่าน ทดสอบ และรันซ้ำได้ ซึ่งในที่นี้เอเจนต์ร่างไฟล์ ตรวจไวยากรณ์ และแสดงแต่ละผลลัพธ์เป็นการ์ด

01

เปิดโฟลเดอร์โปรเจกต์

เลือกโฟลเดอร์ที่เก็บสคริปต์ของคุณ หรือโฟลเดอร์ว่าง เป็นโฟลเดอร์ทำงานของแชต เครื่องมือไฟล์ทำงานภายในโฟลเดอร์นี้

02

อธิบายงาน

บอกว่าสคริปต์ควรอ่านอะไร พิมพ์อะไร และต้องไม่เปลี่ยนอะไร เช่น การนับไฟล์ล็อกแบบอ่านอย่างเดียว

03

ตรวจแผน

เลือก Plan only เพื่อให้อธิบายสคริปต์โดยไม่รัน หรือ Ask first เพื่ออนุมัติแต่ละการกระทำที่เปลี่ยนแปลงสิ่งใดสิ่งหนึ่ง

04

รันและตรวจสอบ

รัน bash -n จากนั้นลองกับโฟลเดอร์ทดสอบ และเทียบผลลัพธ์กับ exit code ของแต่ละการ์ดกับที่คุณคาดไว้

ตัวอย่างแบบอ่านอย่างเดียวที่คัดลอกไปใช้ได้

count-logs.sh
#!/usr/bin/env bash
# count-logs.sh - count lines in .log files of a folder
# usage: bash count-logs.sh [folder]   (read-only)
set -eu

dir="${1:-.}"
count=$(find "$dir" -maxdepth 1 -name "*.log" | wc -l)
echo "found $count log file(s) in $dir"
for file in "$dir"/*.log; do
  [ -e "$file" ] || continue
  wc -l "$file"
done

สคริปต์นับไฟล์ .log ด้วย find และพิมพ์จำนวนบรรทัดของแต่ละไฟล์ด้วย wc มันอ่านอย่างเดียว และ set -eu ทำให้เชลล์หยุดเมื่อพบตัวแปรที่ไม่ได้กำหนดค่าและเมื่อคำสั่งส่วนใหญ่ล้มเหลว

สองสคริปต์ที่ควรสร้างต่อไป

ขอความเห็นเกี่ยวกับสคริปต์ Bash ตัวแรกของคุณ

วางฉบับร่างของคุณเองลงในโฟลเดอร์ทำงานแล้วขอให้เอเจนต์ตรวจ read_file โหลดสคริปต์ grep หาจุดที่ใช้ตัวแปร และเอเจนต์จะชี้ข้อผิดพลาด เช่น เครื่องหมายคำพูดคู่ที่ขาดไป อาร์กิวเมนต์ที่ไม่ได้ตรวจ และชื่อที่ไม่ชัดเจน การตรวจแบบเดียวกันใช้กับไฟล์เริ่มต้นของ Bash ได้ด้วย ลองถามว่าคำสั่งใดในไฟล์นั้นรันทุกครั้งที่เริ่มต้น ใน Plan only เอเจนต์อธิบายสคริปต์โดยไม่รัน เมื่อคุณขอให้แก้ edit_file จะแสดงทุกการเปลี่ยนแปลงเป็น diff และคุณยอมรับก็ต่อเมื่อเข้าใจแล้วเท่านั้น

สร้างตัวจับเวลานับถอยหลัง

สคริปต์จับเวลา Bash แบบง่ายสำหรับผู้เริ่มต้นต้องใช้เพียงตัวแปร ลูป for echo และ sleep ขอให้เอเจนต์ทำตัวนับถอยหลังที่รับจำนวนวินาทีเป็น $1 และพิมพ์วินาทีที่เหลือ write_file บันทึก countdown.sh และ Shell รัน bash -n แล้วลองกับตัวเลขเล็กๆ เช่น 3 เพราะ sleep เพียงแต่รอ สคริปต์จึงไม่เปลี่ยนอะไรบนดิสก์ แนวคิดอย่างการแปลงรูปภาพเป็น ASCII ด้วย Bash ก็ต่อยอดจากลูปและตัวแปรชุดเดียวกัน แม้รูปแบบไฟล์ภาพจะต้องระวังเป็นพิเศษ ดูการ์ดผลลัพธ์ ตรวจ exit code และอ่านโค้ดก่อนนำไปใช้ซ้ำ

TechRetriever สำหรับ Windows

รันสคริปต์แรกของคุณบนเครื่องทดสอบ

ดาวน์โหลด TechRetriever ↗