如何在bash脚本中将光标设置到行的开头。它应该具有与按Ctrl-a相同的行为。
我尝试了类似这样的内容echo -e "\e[H"
,但没有起作用。
这是我的操作目的。假设我有一个命令要在执行之前对其执行某些操作(无论是什么)。因此,我使用绑定-x将一个键(使用绑定-x)关联到将执行该操作的函数。但是,在执行该操作之前,我需要将光标放置在该命令的开头(就像按下Ctrl-a一样)。
echo -ne "\r"
确保我的 hash bang 正确,这是正确的方法:
#!/bin/bash
非
#!/bin/sh
如果不抑制换行符,那么只需要执行以下命令:
echo -ne "\r"
抱歉,我忘记了抑制换行符。
/some/path
绑定到shift-alt-W
并且想要移动到行的开头:bind '"\eW":"/some/path\C-a"'
shift-alt-w
将会把 /some/path
输入到终端中,而 \C-A
则会使光标移动到行首,这样你就可以在 /some/path
前输入 cd
了。bind '"\eW":"my_function\C-a"'
,它只会打印出my_function
。 - Walid Berbind '"\key1":"\C-a"'
bind -x '"\key2":"my_function"'
bind '"\eW":"\key1\key2"'
. 谢谢 - Walid Ber
\e[H
(缩写为\e[1;1H
)将光标移动到终端窗口的第一行和第一列。 - chepner