Burada tput kullanımı ile ilgili biraz kabuk programlama gerektiren daha karmaşık örneklere yer verilmiştir. C kabuğunun akış denetimi (karar verme mekanizması) diğer kabuklardan farklı oluşturulduğundan bu örnekler C kabuğunda çalışmaz.
Aşağıdaki örnekte uçbirim üste yazmama yapabiliyorsa Ben işimin başındayım basar ve üstünü çizer; yapamıyorsa Ben grevdeyim dizgesini basar.
if tput os; then
echo -e 'Ben işimin başındayım\r--- ------ ----------'
else
echo 'Ben grevdeyim'
fi
Aşağıdaki örnekte komut satırı argümanı olarak verilen dizgeyi satıra ortalayarak basan bir betik görülmektedir. Bu işlem için diğer bir yaklaşım, çok sayıda boşluğu basmak için while döngüsü kullanmak yerine tput'un rep terminfo yeteneğini göndermesi olurdu.
COLUMNS=`tput cols` export COLUMNS # Ekran genişliği
echo "$@" | awk '
{ spaces = ('$COLUMNS' - length) / 2
while (spaces-- > 0) printf (" ")
print
}'
Aşağıdaki betikte uçbirimin imleç konumu kaydedilmekte, ekranın ortasına negatif olarak Merhaba Dünya basılmakta ve imleç tekrar eski konumuna dönmektedir.
COLUMNS=`tput cols`
LINES=`tput lines`
line=`expr $LINES / 2`
column=`expr \( $COLUMNS - 6 \) / 2`
tput sc
tput cup $line $column
tput rev
echo 'Merhaba Dünya'
tput sgr0
tput rc
Yukarıdaki örneğin ortasındaki üç satır --standard-input seçeneği kullanılarak da yazılabilirdi:
tput --standard-input <<EOF
sc
cup $line $column
rev
EOF