删除 Linux 终端中最后执行的命令
Delete last executed command in Linux terminal
我想清除但只清除我执行的最后一条命令。这是一个示例,以便您更好地理解它:
root@debian:~# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:~# uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
root@debian:~#
如果这是 shell 的当前状态,我想执行命令(例如 echo a > /tmp/foo
)并保持控制台:
root@debian:~# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:~# uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
root@debian:~#
所以它应该类似于 echo a > /tmp/foo && clear -n 1
(我知道 clear 没有那个 -n 1 功能,这只是一个例子)。
谢谢
为此,您需要在命令之前保存光标位置,然后在清除屏幕的其余部分后恢复该位置。
像这样的东西应该可以工作:
$ hiderun() {
# Move cursor up one line.
tput cuu 1
# Save cursor position.
tput sc
# Execute the given command.
"$@"
# Restore the cursor position.
tput rc
# Clear to the end of the screen.
tput ed
}
$ id
uid=0(root) gid=0(root) groups=0(root)
$ uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
$ tput sc
$ hiderun do something
这可能只适用于单行提示。多行提示大概需要把参数改成tput cuu
.
嗯...将您的提示 运行 tput sc
作为第一件事可能意味着此 Just Works 无需播放任何 counting/etc。游戏,但这需要一些测试。
我想清除但只清除我执行的最后一条命令。这是一个示例,以便您更好地理解它:
root@debian:~# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:~# uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
root@debian:~#
如果这是 shell 的当前状态,我想执行命令(例如 echo a > /tmp/foo
)并保持控制台:
root@debian:~# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:~# uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
root@debian:~#
所以它应该类似于 echo a > /tmp/foo && clear -n 1
(我知道 clear 没有那个 -n 1 功能,这只是一个例子)。
谢谢
为此,您需要在命令之前保存光标位置,然后在清除屏幕的其余部分后恢复该位置。
像这样的东西应该可以工作:
$ hiderun() {
# Move cursor up one line.
tput cuu 1
# Save cursor position.
tput sc
# Execute the given command.
"$@"
# Restore the cursor position.
tput rc
# Clear to the end of the screen.
tput ed
}
$ id
uid=0(root) gid=0(root) groups=0(root)
$ uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
$ tput sc
$ hiderun do something
这可能只适用于单行提示。多行提示大概需要把参数改成tput cuu
.
嗯...将您的提示 运行 tput sc
作为第一件事可能意味着此 Just Works 无需播放任何 counting/etc。游戏,但这需要一些测试。