มีวิธีการส่งคำสั่งผ่านการโต้แย้งในเปลือก?


0

สิ่งที่ฉันพยายามทำให้สำเร็จคือการตั้งชื่อของวิดเจ็ตเมื่อคอมพิวเตอร์ไม่ทำงาน:

xsidle.sh echo mywidget.title = "idle" | awesome-client

เมื่อฉันลบxsidle.shมันทำงานไม่มีที่ติ xsidle.shประมาณ:

sleep 10
command="$1"
$command

แน่นอนว่าผลลัพธ์ของ xsidle นั้นถูกเปลี่ยนเส้นทางไปที่สุดยอดไคลเอนต์ในขณะที่ฉันพยายามที่จะสะท้อนไปยังไคลเอนต์ที่ยอดเยี่ยมด้วยความล่าช้า

ฉันได้พยายามหนีด้วย "หรือ" เอาต์พุตเอคโค่คือ " mywidget.title = "idle" | awesome-client"

คำตอบ:


2
#!/bin/sh
sleep 10
"$@"

หากคุณไม่มีอะไรทำหลังจากสั่งคำสั่งคุณสามารถใช้

exec "$@"

นี่คือหน้าคู่มือที่เป็นมิตรของคุณ (ลองman sh) แม้ว่าจะไม่ง่ายนักที่จะรู้วิธีค้นหามัน ดูเพิ่มเติมคำถามเช่นนี้

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