将光标移动到bash中特定列的位置

将光标移动到bash中特定列的位置,bash,escaping,echo,ansi-escape,Bash,Escaping,Echo,Ansi Escape,我希望在特定列上的echo命令中移动bash光标,但不更改行。到目前为止,我得到的是: this.echo('NONE found on ' + accountName + '(' + accountPos + ')' + '\033[30f !!!'); 我希望30是列号,但行保持不变,但出于某种原因,上面的人认为我的行号是0,因此它将行重置为该值。通过在行的开头移动光标,然后向前移动30列,找到了我自己问题的答案,如本例所示: \033[50D\033[30C My Text Goes H

我希望在特定列上的echo命令中移动bash光标,但不更改行。到目前为止,我得到的是:

this.echo('NONE found on ' + accountName + '(' + accountPos + ')' + '\033[30f !!!');

我希望30是列号,但行保持不变,但出于某种原因,上面的人认为我的行号是0,因此它将行重置为该值。

通过在行的开头移动光标,然后向前移动30列,找到了我自己问题的答案,如本例所示:

\033[50D\033[30C My Text Goes Here

有不止一种方法,但最简单的方法是HPA。参考:

比如说

printf '\033[30`%s\n' "My Text Goes Here"

进一步阅读:

以下是有关如何在bash脚本中移动光标或使用bash shell(即终端)中的vi文本编辑器确定光标在bash脚本或任何文本文件中的当前位置的说明

首先,您需要使用vi编辑器打开bash脚本或任何文本文件

vi bashscript.sh
如果要使用vi编辑器将光标移动到bash脚本中的第10行和第2列,请运行下面的命令note,键入“:”以输入命令

:cal cursor(10, 2)
如果您想使用vi编辑器查看bash脚本中的当前行和列,请运行以下命令

:echo "Row = " line('.') ", Col = " virtcol('.')
可能重复的
:echo "Row = " line('.') ", Col = " virtcol('.')