gpt4 book ai didi

bash - 如何为终端制作动画 bash shell 提示符?

转载 作者:行者123 更新时间:2023-11-29 09:30:05 24 4
gpt4 key购买 nike

我想在终端(Ubuntu 14.04)中制作一个动画光标提示符,
所以我做了这个脚本:

while [ : ]do    echo -ne '|\r'    sleep 0.3    echo -ne '/\r'    sleep 0.3    echo -ne '一\r'    sleep 0.3    echo -ne '\\ \r'    sleep 0.3    echo -ne '|\r'    sleep 0.3    echo -ne '$\r'    sleep 0.3done

但是当我把它放在 .bashrc ps1 ~/animated-prompt.sh & 中时,它会造成文本失真,我写的每件事都被 \r 性格。
enter image description here
那么有没有办法让这个工作?
(IDK,就像把脚本放到终端正在处理的线程之外的另一个进程线程)

最佳答案

保存和恢复光标位置而不是\r。移动到您希望在保存和恢复光标位置之间显示动画的所需列位置。

有关光标移动,请参阅 http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html

修改后的脚本:

s="\033[s"
u="\033[u"

# Position of column
# As per my command prompt, i want 15th column( so 14C)
pos="\033[1000D\033[14C"
while [ : ]
do
eval echo -ne '$s$pos\|$u'
sleep 0.3
eval echo -ne '$s$pos/$u'
sleep 0.3
eval echo -ne '$s$pos一$u'
sleep 0.3
eval echo -ne '$s$pos\\\\$u'
sleep 0.3
eval echo -ne '$s$pos\|$u'
sleep 0.3
eval echo -ne '$s$pos\$$u'
sleep 0.3
done

[root@hello ~]|

如您所用,它适用于 .bashrc 中的最后一行

谢谢

关于bash - 如何为终端制作动画 bash shell 提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com