如何在 Shell 脚本中保持文本一致性

如何在 Shell 脚本中保持文本一致性

再会!

我正在创建一个 Shell 脚本,以便可以使用它来执行 X(不会告诉)

这是我现在的脚本

clear
echo Ahmad A Kazi
echo IDNO: BD_3456
echo 
echo Data Clear Program
echo c 2015 Ahmad A Kazi
echo
echo First Update
echo 
apt-get update
echo
echo Purge Programs
echo
apt-get purge cmake -y
apt-get purge libtool -y
apt-get purge libcurl4-openssl-dev -y
apt-get purge libjansson-dev -y

这只是脚本的一部分,因为其余部分是专有的

我希望它位于脚本输出的顶部,而不是一直改变它的位置,下面的这段文字应该始终位于顶部

===========================================
Ahmad A Kazi
Copyright 2015, The DNACoin Developers

===========================================

例如

===========================================
Ahmad A Kazi
Copyright 2015, The DNACoin Developers

===========================================

Some thing else is going on......

这个其他的东西不应该最终删除我的名字和版权,还有,如何打印时间并继续自我更新......

请帮忙!

谢谢

答案1

这是我的脚本。它使用 tput cup Y 位置 X 位置,并使用 while 循环将该信息连续放置在屏幕顶部。您可能想根据自己的应用程序进行调整,但要点很明确。现在给我 3.50 美元,因为这个脚本受版权保护;)

#!/bin/sh

clear
while true; do
clear
tput cup 0 0 
printf  "===========\n SERG KOLO \n================Copyright 2015\n=================="
sleep 1
tput cup 10 10
echo TEST line one of script
echo "Do you love Ubuntu ? "
read answer 
case $answer in

    y) echo " Have a cookie :3  ";;
    n) echo " Go away, Windows lover  ";;
    *) echo  only y or n ;;
esac

sleep 1

df -h

sleep 1

free -h
sleep 1


done

在此处输入图片描述

答案2

#!/bin/bash
# Create a function just for this script.
mydashes='===================='
function mycls() {
    clear 
    echo $mydashes
    echo Ahmad A Kazi 
    echo Copyright 2015 
    echo $mydashes
    }


mycls
echo Doing stuff
sleep 2
mycls
echo Doing more stuff
sleep 2
mycls
echo Almost done.
sleep 2
echo Done

还有其他方法,比如使用 ANSI 代码,但很快就会变得非常混乱。这种方法简单快捷。

答案3

如果命令输出不是很重要,您可以用所有&> /dev/null输出都重定向到 来结束所有命令/dev/null

echo -ne " Purge Programs\r"为了始终重复使用同一行,您需要向用户显示的所有信息应该\r使光标返回到第一列。

clear
echo Ahmad A Kazi
echo IDNO: BD_3456
echo 
echo Data Clear Program
echo c 2015 Ahmad A Kazi
echo
echo -ne "First Update\r"
apt-get update &>/dev/null
echo -ne "Purge Programs\r"
apt-get -y purge cmake libtool libcurl4-openssl-dev libjansson-dev &>/dev/null

相关内容