在 bash 中添加显示让用户等待

在 bash 中添加显示让用户等待

我正在寻找一段非常愚蠢的 bash 代码,它将显示一种“请等待”滚动显示,其中包含字符:- \ | /

第一个问题是我不知道这个东西的名字,所以有点难以找到,另一个问题是您能否提供一个脚本?

先感谢您,

奥利维尔

答案1

非常感谢您的宝贵帮助。我查看了所有代码片段,对于我正在做的事情来说,它们似乎都相当长。

因此,基于此,我重新做了一小段代码并与大家分享。

#! /bin/bash
state=1
delay=0.5
printf "-"
sleep $delay

while [ 1 ]
do
        printf "\b"
        case $state in
                0) printf "-";;
                1) printf "\\";;
                2) printf "|";;
                3) printf "/";;
        esac
        if [ $state -eq 3 ]
        then
                state=0;
        else
                state=$((state+1));
        fi
        sleep $delay
done

当然,这可以作为独立代码工作,但删除 bash 行,您可以轻松地将其插入脚本中,并最终将其缩小一点。唯一的事情是关于条件,它现在永远运行,因此必须取出您自己的停止条件。

希望你会觉得它有用。;-)

答案2

它们被称为“旋转器”。Linux Journal 有一个文章附有示例代码。

答案3

它们也被称为“Throbbers”。有关实现和如何使用它的说明,请参阅http://fitnr.com/showing-a-bash-spinner.html(免责声明:我自己没有测试过,但我忽略了它并且它看起来很合理)

答案4

您能否尝试以下“请等待”进程栏/微调器的代码。

 #!/bin/bash
 echo -e "Please wait ..."
 while true;
 do
 echo -ne '-\r'
 sleep .2
 echo -ne '\\\r'
 sleep .2
 echo -ne '|\r'
 sleep .2
 echo -ne '/''\r'
 sleep .2
 echo -ne '-\r'
 done

或者

尝试

 #!/bin/bash
 echo -n "Please wait..."
 while true
 do
      echo -n "."
      sleep .2
 done

它对我有用...

相关内容