سلام دوستان.
من میخوام یه متن رو بدم به ترمینال تا نشونش بده، ولی؟ بیفته وسط ترمینال (حالا چه توی کنسول باشه چه yakuake و حتی ttyها)
کلی سرچ کردم. رسیدم به این تاپیک
http://www.linuxquestions.org/questions/linux-newbie-8/bash-script-center-text-on-screen-4175417274/که کد خلاصه ش بر طبق نیاز من اینجوری میشه:
#!/bin/bash
ast="****************************************************"
columnas=$(tput cols)
y=$((($columnas-${#ast})/2))
x=0
tput clear
tput cup $x $y
echo "${ast}"
موضوع اینه که خروجی این دستور خیلی ناجوره:
*********************************************************
kubuntu@Rasubuntu:~$
یعنی بالای این ستاره ها کلی فضا اشغال میشه که حدس زدم مال این تیکه هاش باشه:
columnas=$(tput cols)
tput clear
tput cup $x $y
وقتی دستکاریشون می کنم خروجی بهم میخوره.
چجوری میشه کاری کرد که اون همه (20 خط) خالی ایجاد نشه؟
یه راه دیگه هم بود به این شکل:
printf "%*s\n" 75 "*************************************"
که میتونه اینارو وسط Yakuake بندازه. ولی مثلا توی کنسول یا ttyها اثرش تموم میشه. چون هر کدوم عرض خاصی دارن.
راهی هست برای اینکه من بتونم اون بالایی رو درست کنم؟ یا اینه یه دستور باشه که من بتونم خروجی متنم رو دقیقا وسط بندازم؟ (توی هر ترمینالی که بخوام و محدودیت نداشته باشه)
مرسی
