Newsgroup: it.comp.os.linux.sys
Titolo: echo o printf sempre sulla stessa posizione...

come si fa a fare un echo sul terminale sempre sulla stessa posizione?
immagino che potrebbe essere una opzione di 'stty' ma sono un po' 
(tanto) pigro.
p.s.: volevo riprodurre quella specie di stellina che viene usata negli 
script per indicare una pausa mentre lo script sta processando dei dati.
La sequenza di caratteri e': \|/-
-- 
Massimiliano

 
Una volta si faceva un echo del carattere "backspace"... :-)
Alex.


$ echo -en a ; sleep 1 ; echo -e \\010b
-- 
Alessandro Selli
http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.

 (tanto) pigro.
Hint: echo -e "\b". :)
	suggeritamente,
	    Cthulhu
-- 
http://www.rlyeh.it/Rantolii/

 	    Cthulhu
$ echo -e "\b". :)
bash: syntax error near unexpected token `:)'



me idiota :(
pero' anche 'stty' potrebbe avere una qualche opzione del cavolo... no 
cmq non me ne frega. Va benissimo il suggerimento che mi avete dato :)
dengh yu!
-- 
Massimiliano

 bash: syntax error near unexpected token `:)'
Funziona solo con cthsh. :P
	limitatamente,
	   Cthulhu
-- 
http://www.rlyeh.it/Rantolii/

 
Pigro?????? Questo è un invito a nozze ;)
man tput
michele

 bash: syntax error near unexpected token `:)'
Strano.  Da "man echo":
---------------------------------------------------------------------
       -e     enable   interpretation  of  the  backslash-escaped
              characters listed below
...
       \b     backspace
---------------------------------------------------------------------
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

 
.....
ommaronna, sei serio!?
beh, se sei serio, guarda che dopo l' echo c' e' anche un ".", un ":" e un
")", magari e' per quelli che la bash (nota bene, non e' un errore di echo)
s' e' lamentata.......
-- 
Firma in costruzione

 
ok ... ho fatto cosi'. L'effetto fa un po' vomitare ... ma si puo' 
migliorare ;)
#!/bin/bash
for i in `seq 1 10000`; do
         printf \\\b
         sleep .05
         printf '|'\\b
         sleep .05
         printf \/\\b
         sleep .05
         printf -- -\\b
         sleep .05
done
p.s.: printf va a capo solo gli viene detto e qui viene meglio.
pp.s.: dopo aver realizato questa stellina spero di essere promosso :P
-- 
Massimiliano


intendevo dire che, vista la banalita' della cosa che dovevo fare non 
volevo spenderci molto tempo e vedere se qualcuno poteva postare la 
pappa pronta :P
Grazie comunque a tutti!
-- 
Massimiliano

         printf \\\b
ho eliminato questo primo backspace, poiché non "gira" ma "va indietro"!
Cmq grazie per aver riportato a memoria questa piccola "clessidra" 
primordiale :-))
Alex.

 primordiale :-))
in uno script la clessidra primoridale e' meglio di un lucano :) (spero 
non di una lucana... ohoh)
-- 
Massimiliano

 
printf '\\'\\b
a me funziona a dovere :-)
Alex.



(dati per la fattura please)
Prova questo allora:
---------------------------------------------------------------
#!/bin/bash
function myprint () {
        row=$1; shift
        col=$1; shift
        sec=$1; shift
        tput cup $row $col
        printf $*
        sleep $sec
}
tput init
tput clear
tput civis
tput cup 10 10
echo -n "Il cursore si deve trovare qui ->   <- chiaro?  [           ]"
for i in `seq 1 10000`; do
         myprint 10 44 .1 "¦"
         myprint 10 44 .1 "/"
         myprint 10 44 .1 "-"
         myprint 10 44 .1 "\\"
         myprint 10 60 .15 $i
done
tput cup 23 0
echo fine
tput reset
-----------------------------------------------------------------

 ommaronna, sei serio!?
   Vediamo se questa la capisce:
$ \(-
bash: (-: command not found
:-)


 (dati per la fattura please)
uuh. Non era GPL? :O)
-- 
Massimiliano