ฉันมีปัญหาในการคิดเกี่ยวกับปัญหาเล็กน้อยนี้
โดยทั่วไปฉันใช้สคริปต์ทุบตี PS1 เพราะมันค่อนข้างเจ๋ง:
PS1="\n \[\033[0;34m\]ââââââ\[\033[0;31m\]î²\[\033[ 0;37m\]\[\033[41m\] \u \[\033[0m\]\[\033[0;31m\]î°\[\033[0;34m\]ââ âââ\[\033[0;32m\]î²\[\033[0;30m\]\[\033[42m\] \w \[\033[0m \]\[\033[0;32m\]î° \n \[\033[0;34m\]â°ï \[\033[1;36m\]\$ \[\033[0m \]"
มีลักษณะดังนี้:
สิ่งที่ฉันต้องการทำคือพิมพ์การประทับเวลาทางด้านขวามือด้วยเส้นทึบเชื่อมปลายด้านซ้ายกับจุดเริ่มต้นของด้านขวาของข้อความ เช่น
เบน @ ท้องถิ่น ------------------------------------------ 12:00 น
ฉันพยายามทำสิ่งนี้:
$(printf '%*s' $COLUMNS '-')
แต่นั่นเป็นเพียงการสร้างบรรทัดใหม่ที่เต็มไปด้วยเครื่องหมายขีดคั่น
ฉันจะรับค่าของจุดที่เคอร์เซอร์ออกไปได้อย่างไร ฉันเข้าใจแล้ว tput sc
แต่ฉันไม่เข้าใจวิธีใช้สิ่งนั้นในตัวแปร จากนั้นพิมพ์บรรทัดโดยปล่อยให้อักขระ 5 ตัวทางด้านขวาสำหรับเวลานั้น
นี่เป็นการโจมตีครั้งแรกของฉันในการเขียนสคริปต์ทุบตี ดังนั้นโปรดยกโทษให้ฉันด้วยความรู้เท่าไม่ถึงการณ์
ความช่วยเหลือใด ๆ ที่ชื่นชม