gpt4 book ai didi

linux - 为命令行提示符设置PS1变量时如何获取光标坐标?

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:45 26 4
gpt4 key购买 nike

我正在使用 Mac。我想设置 PS1 变量以在命令行提示符的行尾获取当前时间。像这样: exmaple 1或这个: example 2

但是,不幸的是,我无法通过以下配置得到我想要的:

CYAN="\[$(tput setaf 6)\]"
GREEN="\[$(tput setaf 2)\]"
BLUE="\[$(tput setaf 4)\]"
YELLOW="\[$(tput setaf 3)\]"
export PS1="$GREEN\u$BLUE@$CYAN\h $YELLOW\w\[$(tput cuf $(($(tput cols)-33)))\]$CYAN\[$(date +%H:%M)\]\n\\$ "

好像需要获取当前光标的位置,根据位置的坐标做一些计算,但是不知道怎么获取。有人可以帮忙吗?

最佳答案

有几个问题。这 block

$(tput cuf $(($(tput cols)-33)))

似乎是您要问的问题。如果您想将日期放在行尾,您可以尝试使用 hpa(绝对水平位置)功能,例如,

$(tput hpa $(($(tput cols)-5)))

这样,您就可以将光标移动到行中给定的绝对位置,而不是将相对移动到当前位置。

给出的提示占两行。如果您在写入日期的部分前后使用 scrc 功能(保存/恢复光标),则可以将其缩减为一行。这可能会遇到行编辑清除日期的问题,但这是需要考虑的事情。

关于linux - 为命令行提示符设置PS1变量时如何获取光标坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30140829/

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