Il problema è semplice.Concatenazione di spazi bianchi in Bash
for i in `seq $begin $progress_length` ; do
progress_bar=$progress_bar'#'
done
for i in `seq $middle $end` ; do
empty_space=$empty_space' '
done
Ho bisogno empty_space
per posizionare il contenuto dopo la barra di avanzamento. Mi aspettavo che fosse una stringa di x spazi bianchi. Ma finalmente la stringa è vuota. Come posso creare una stringa di spazi bianchi x?
.. e la barra di avanzamento '# può _also_ essere scritto con' printf (1) ', probabilmente semplificando entrambe le routine. – sarnold
Grazie per la risposta. Ho provato "$ {empty_space}" prima, ma non funziona. Event empty_space = 'printf '% 20s' ''' non funziona :(. Bash è strano – ciembor
@ciembor: cosa vuoi dire, 'empty_space =" $ {empty_space} "' non funziona? spazio a 'empty_space'. Come stai verificando il valore in un secondo momento? Presumibilmente stampandolo sullo schermo? Stai citando allora? Cioè, devi fare" echo "[$ {progress_bar} $ {empty_space}]" ' , non 'echo [$ {progress_bar} $ {empty_space}]'. – Cascabel