Score:0

Bash shell script ที่เรียกใช้โปรแกรมภายนอกไม่แสดงผลไปยังเทอร์มินัลปัจจุบัน

ธง sa

ฉันยังใหม่กับเชลล์สคริปต์ ฉันกำลังสร้าง pi ราสเบอร์รี่หัวขาดที่แฮ็คเครือข่าย WiFi (เพื่อจุดประสงค์ทางการศึกษา) ด้วยโปรแกรมที่ชื่อว่า ไวไฟ. แผนมีไว้เพื่อส่งอีเมลไปพร้อมกับไฟล์แนบของเอาต์พุต (ยังไม่ได้ดำเนินการ)

ดังนั้นโปรแกรมนี้จึงเป็นแบบโต้ตอบ ดังนั้นฉันจึงต้องส่งข้อมูลทางแป้นพิมพ์ผ่าน xdotool. ปัญหาหลักคือเมื่อฉันพยายาม Ctrl+ หลังจากนั้นครู่หนึ่งมันก็ส่งอินพุตไปยังเทอร์มินัลปัจจุบันบนหน้าจอ แต่ wifite ทำงานบนพื้นหลังและฉันไม่ได้รับเอาต์พุตไปยังเทอร์มินัล

ตอนนี้ไม่เป็นไร ฉันไม่ต้องการเอาต์พุตบนหน้าจอ แต่ฉันต้องสามารถส่งอินพุตคีย์บอร์ดไปยัง wifite ได้ และฉันคิดว่าวิธีที่ง่ายที่สุดคือการบังคับให้ wifite ส่งออกไปยังเทอร์มินัลปัจจุบัน ดังนั้น xdotool จึงสามารถส่งอินพุตคีย์บอร์ดได้ นี่คือสคริปต์:

#!/bin/sh
นอน1ม
`sudo wifite --kill | ที output.txt`
นอน1ม
`ปุ่ม xdotool ctrl+c`
`แป้น xdotool เข้าสู่`

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

FedKad avatar
cn flag
เหตุใดคุณจึงใช้ backticks ในคำสั่ง `sudo` เหตุใดคุณจึงอ้างคำสั่งสองคำสั่งสุดท้ายเพียงครั้งเดียว
Hariss Gills avatar
sa flag
ฉันอ่านที่ไหนสักแห่งว่าต้องใช้ backtics เมื่อเรียกใช้แอปพลิเคชันภายนอก และเครื่องหมายคำพูดเป็นข้อผิดพลาดในการจัดรูปแบบ ขออภัย
hr flag
@HarissGills คุณสามารถใช้ปุ่ม [แก้ไข] ใต้โพสต์ของคุณเพื่อแก้ไขการจัดรูปแบบ
Hariss Gills avatar
sa flag
@steeldriver ขอบคุณ ตอนนี้แก้ไขได้แล้ว
Koen avatar
ca flag
https://unix.stackexchange.com/questions/48392/understanding-backtick/48393

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา