ดำเนินการหลายคำสั่งในหน้าต่างเทอร์มินัลจาก bash


0

จากสคริปต์ทุบตีฉันต้องการเปิดLXTerminalหน้าต่างและรันหลายคำสั่งเช่น:

lxterminal -e "echo 'Hello' && sleep 5"

มันไม่ได้อ่านคำสั่งแรก (เพราะฉันพยายามที่จะกลับคำสั่งซื้อ) และจะไม่ทำงานด้วยcommand1 ; command2โซ่อย่างง่าย เห็นได้ชัดว่ามันทำงานได้กับคำสั่งเดียว

ความคิดใด ๆ ขอบคุณล่วงหน้า.

คำตอบ:


1

นี่เป็นข้อผิดพลาดที่บันทึกไว้ด้วย lxterminal คุณมีโปรแกรมเทอร์มินัลสำรองที่มีอยู่หรือไม่? xterm, gnome-terminal และอื่น ๆ ? lxterm (แตกต่างจาก lxterminal) ได้รับการสนับสนุนอย่างเต็มที่สำหรับสิ่งที่คุณพยายามทำซึ่งจะกล่าวถึงในรายงานข้อผิดพลาดนั้น ฉันไม่สามารถเข้าถึงแพ็คเกจจากสภาพแวดล้อมของฉันได้ง่ายและไม่ได้มองมัน

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

ตัวอย่างเช่นในส่วนของสคริปต์ของคุณที่ใช้การโทรแบบ lxterminal ให้ทำดังนี้:

tmpScript=$(mktemp -u) || { echo "tmp file generation error!"; exit 1; }
echo '#!/bin/bash' > $tmpScript
echo "echo 'Hello' && sleep 5" >> $tmpScript
chmod +x $tmpScript
lxterminal -e "$tmpScript"

อย่างน้อยก็ในสภาพแวดล้อมของฉัน (fed 24; x86_64; lxterminal เวอร์ชัน 0.2.0, เคอร์เนล 4.6.5)

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


โอ้ตกลงขอบคุณ คิดว่าฉันจะติดตั้ง xterm และอธิษฐานขอให้ LXTerminal ได้รับการแก้ไข ไชโย
Juan

0

คุณสามารถใช้เทอร์มินัลอื่นที่ใช้งานได้ ตัวอย่างเช่นในxtermการทำงาน:

xterm -e "echo 'Hello' && sleep 5"

เนื่องจากxtermเป็นเทอร์มินัลอีมูเลเตอร์เริ่มต้นสำหรับ X นี่ควรเป็นโซลูชันสำหรับคุณเช่นกัน


0

วิธีแก้ไขคือทำด้วย - คำสั่งตัวแก้ไขเช่นนั้น lxterminal - คำสั่ง cd ~ / some / catalog && echo 'Hello'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.