Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 动画PS1提示BASH_Linux_Bash_Unix_Prompt_Ps1 - Fatal编程技术网

Linux 动画PS1提示BASH

Linux 动画PS1提示BASH,linux,bash,unix,prompt,ps1,Linux,Bash,Unix,Prompt,Ps1,我知道以前有人问过这个问题,但我在任何地方都找不到我想要的答案。我需要(想要)的是一个BASH提示符,如下所示: [ blah@blah ] > [ blah@blah ] > [ blah@blah ] > (然后动画将重复) 这只是为了我的生活,我无法理解,我已经搜索了好几天(显然没有太多人不想要动画提示)。我想要它做的是每1/2秒通过一帧动画,所以每个完整的动画将是1 1/2秒长 我有什么办法可以做到这一点吗?提前感谢,如果我解释的方式有点混乱,请原谅。这就是我得

我知道以前有人问过这个问题,但我在任何地方都找不到我想要的答案。我需要(想要)的是一个BASH提示符,如下所示:

[ blah@blah ] >
[ blah@blah ]  >
[ blah@blah ]   >
(然后动画将重复) 这只是为了我的生活,我无法理解,我已经搜索了好几天(显然没有太多人不想要动画提示)。我想要它做的是每1/2秒通过一帧动画,所以每个完整的动画将是1 1/2秒长

我有什么办法可以做到这一点吗?提前感谢,如果我解释的方式有点混乱,请原谅。

这就是我得到的:

animation() {
S="\033[s"
U="\033[u"

POS="\033[1000D\033[2C"
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
done
}
PS1='[     ] : [ \u @ \h ] > '
animation &

我稍微修改了其中一个链接中的脚本,因此您只需将其放入一个文件中,并将其源代码或粘贴到终端中,即可获得一个简单的动画提示。

我唯一想要的不是动画提示,而是一个向我发出嘟嘟声的动画提示;)这可能会有所帮助:。或者我同意切普纳在这个相关问题上的观点。我认为这是不可能的。至少在没有编写一个脚本来显示您自己的提示的情况下是不可能的(以可靠和安全的方式,这可能是可能的,也可能不是实际可能的)。您可以让提示字符串以旋转模式移动到每个新提示行上的不同位置,但我认为这不是您的意思。这是我能想到的唯一能做你想做的事的方法。(请在让我看你的屏幕之前把它关掉。)谢谢你们的提示和链接。我想我发现将字符叠加到其他应用程序的输出中(当提示符以外的东西在三分之一秒的边界处处于活动状态时)是一个相当严重的副作用,不是吗?为了防止这种情况,可能需要使用一个关闭效果的调试陷阱和一个再次启动它的
prompt\u命令
。。。尽管在执行PROMPT_命令时需要小心防止调用调试陷阱。