Comment puis-je montrer le spinner jusqu'à ce que la ligne de commande termine son travail? En d'autres termes, si j'exécute un script et que je souhaite afficher le spinner pendant que ce script est en cours d'exécution et que le spinner disparaît lorsque le script a terminé, c'est le travail.
Ci-dessous est un code spinner commun:
i=1
sp="/-\|"
echo -n ' '
while true
do
printf "\b${sp:i++%${#sp}:1}"
done
Comment puis-je lier le code de spinner précédent à une commande pour le laisser afficher spinner pendant que la commande est en cours d'exécution et le spinner disparaît lorsque la commande a terminé, c'est le travail? Si j'inclus la commande dans la boucle, elle bouclera avec le spinner, alors quelle est la solution dans ce cas?
Ce script shell devrait faire ce que vous cherchez:
En supposant que vous stockiez le script shell dans un fichier nommé
spinner
, vous pouvez l'invoquer comme ceci pour afficher un spinner pendant l'sleep 10
exécution de la commande :la source
spinner
, donc non. Je pense que l'exemple est juste, en supposant que vous nommez le scriptspinner
.Voici un autre spinner fantaisie que vous pouvez utiliser comme ceci:
Il a 12 thèmes et en choisit un au hasard.
la source
Si vous voulez un spinner au plus petit dénominateur commun qui fonctionne avec / bin / sh et ne repose pas sur la substitution de paramètre bash étendue, cela devrait fonctionner:
la source