Como manter o texto consistente em um script de shell

0

Bom dia!

Eu estou criando um script de shell para que eu possa usá-lo para fazer X (não dirá)

Este é o meu script atual

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

Isto é apenas uma parte do script porque o resto é proprietário

Eu quero que isso esteja lá no topo da saída de script e não altere sua posição o tempo todo, este texto abaixo deve estar sempre no topo o tempo todo

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

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

Por exemplo

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

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

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

Este algo mais não deve acabar removendo meu nome e direitos autorais Além disso, como imprimir o tempo e manter a auto atualização ....

Por favor, ajude!

Obrigado

    
por DeOxyRibose Acid 19.03.2015 / 07:12

3 respostas

1

Aqui está meu script. Ele usa a posição X do local Y da tput cup e coloca continuamente essa informação na parte superior da tela usando o loop while. Você pode querer ajustá-lo para sua aplicação, mas o ponto é claro. Agora me dê 3,50 $ porque esse script é protegido por direitos autorais ;)

#!/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

    
por Sergiy Kolodyazhnyy 02.05.2015 / 18:07
0
#!/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

Existem outras maneiras, como usar códigos ANSI, mas elas ficam muito confusas, muito rapidamente. Isso é simples e rápido.

    
por Bulrush 19.03.2015 / 13:29
0

Se a saída dos comandos não for essencial, você poderá encerrar todos os comandos com &> /dev/null . Toda a saída será redirecionada para /dev/null .

Todas as informações que você precisa mostrar ao usuário devem ser como echo -ne " Purge Programs\r" para sempre reutilizar a mesma linha, \r faz o cursor retornar à primeira coluna.

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
    
por perdigueiro 20.03.2015 / 01:17