ฉันใช้ Ubuntu 16.04 และฉันต้องการtmux
วิธีแก้ไขปัญหาต่อไปนี้เพราะฉันต้องการเรียกใช้กระบวนการหมดเวลาด้วยsleep
ในกรณีเฉพาะของฉันฉันไม่พอใจat
และพบข้อบกพร่องด้วยnohup
(เมื่อรวมnohup-sleep
) ตอนนี้tmux
ดูเหมือนจะเป็นทางเลือกที่ดีที่สุดเนื่องจากมีกลไกการไม่วางสายและทำงานได้ดีในการใช้งานด้วยตนเอง (ฉันถามคำถามเฉพาะเกี่ยวกับกระบวนการทำให้เป็นอัตโนมัติด้วยตนเองฉันสามารถทำได้ด้วยตนเอง)
สิ่งที่ฉันต้องการ:
ฉันต้องการวิธีในการดำเนินการ 3 อย่างต่อไปนี้ทั้งหมดในการดำเนินการครั้งเดียว:
- แนบ
tmux
เซสชันใหม่ (sleep 30m ; rm -rf dir_name ; exit)
ฉีดชุดพร้อมคำสั่งไปยังเซสชั่นว่าเหมือน โดยเฉพาะอย่างยิ่งฉันต้องการชุดหลายบรรทัดไม่ใช่แถวยาวหนึ่งแถว- การดำเนินการคำสั่งด้านบนตั้งช่วงเวลาที่มันเสร็จสิ้นการเขียนเป็น stdin ใน
tmux
เซสชั่นใหม่
กล่าวอีกนัยหนึ่งฉันต้องการรันชุดรหัสในtmux
เซสชันอื่นที่สร้างขึ้นเป็นพิเศษสำหรับสาเหตุนั้น แต่จะทำทั้งหมดในการดำเนินการครั้งเดียว
หมายเหตุ:
ฉันตั้งเป้าหมายที่จะทำทุกอย่างจากเซสชันการทำงานดั้งเดิมของฉัน (อันที่ฉันทำงานมาเกือบตลอดเวลา) โดยทั่วไปฉันไม่มีความตั้งใจที่จะเยี่ยมชมเซสชั่นที่เพิ่งสร้างใหม่ฉันแค่ต้องการสร้างมันด้วยโค้ดที่ถูกเรียกใช้โดยอัตโนมัติและนั่นก็คือ
ถ้าเป็นไปได้ฉันอยากได้โซลูชัน heredoc ฉันคิดว่ามันมีประสิทธิภาพมากที่สุด
1.
มีสองวิธีที่จะทำเช่นนั้นวิธีแรกเกี่ยวข้องกับการสร้างสคริปต์ชั่วคราว (ที่มีรหัส) และดำเนินการด้วยการสร้างและที่สองคือ heredoc ทาง2.
หากวิธีที่สองใช้งานได้ (เมื่อแต่ละแถวเสียงสะท้อนมีรหัสแต่ละแถวของ heredoc) ทำไมเราจึงเห็นว่านี่เป็นแฮ็คถ้าเป็นรหัสที่ถูกต้องของ Bash อาจเป็นเพราะแถวของ heredoc นั้นถูกสะท้อนและไม่ได้ทำงานเป็นประจำใน heredocs?