3
Bash: จะรู้ได้อย่างไรว่าผลลัพธ์ของคำสั่งสุดท้ายลงท้ายด้วยการขึ้นบรรทัดใหม่หรือไม่?
เวลาส่วนใหญ่ที่เอาต์พุตของคำสั่งลงท้ายด้วยอักขระบรรทัดใหม่ แต่บางครั้งมันก็ไม่ได้ดังนั้นเชลล์พรอมต์ถัดไปจะถูกพิมพ์ในบรรทัดเดียวกันพร้อมกับเอาต์พุต ตัวอย่าง: root @ hostname [~] # echo -n สวัสดี helloroot @ hostname [~] # ฉันพบว่ามันน่ารำคาญมากเสมอ ตอนนี้ฉันสามารถเพิ่ม "\ n" ที่จุดเริ่มต้นของตัวแปร PS1 ได้ แต่ส่วนใหญ่แล้วจะพิมพ์หนึ่งบรรทัดเพิ่มเติมที่ฉันไม่ต้องการ เป็นไปได้ไหมที่จะรู้ว่าผลลัพธ์ของคำสั่งสุดท้ายจบลงด้วยการขึ้นบรรทัดใหม่หรือไม่? โซลูชัน: (ขอบคุณเดนนิส) PS1='$(printf "%$((`tput cols`-1))s\r")\u@\h [\w]\$ '