在bash脚本中,在脚本退出后的提示符上打印命令(作为建议)

时间:2015-11-10 20:17:25

标签: linux bash command-line prompt

我想编写一个shell脚本,可以通过在命令行提示符后打印命令来建议命令。 然后,在脚本退出后,用户只需按[enter]键即可运行此建议命令。

鉴于我是bash的新手,我甚至不知道是否可以这样做。我想过使用copy-past命令,移动光标,使用$ PS1变量,而没有找到合适的方法..

有没有人有关于如何实施此功能的任何线索?

1 个答案:

答案 0 :(得分:1)

根据评论中的Landen的建议(非常感谢!),我已经能够解决我的问题。

此解决方法需要xautomation包(xte命令,模拟按键),不是非常健壮,可能取决于xautomation的键盘布局处理和系统快捷方式。例如,我必须更改统一HUD的快捷方式。

但鉴于我的命令非常快,而且主要是供个人使用,这个解决方案完全符合我的需求:

COMMAND_PASSED='sudo apt-get update'

# Displays the content of $COMMAND_PASSED on the next prompt
xte "str $COMMAND_PASSED"
sleep 0.1
tput cub ${#COMMAND_PASSED}
需要

sleep 0.1tput cub ${#COMMAND_PASSED}命令来防止在命令提示符之前显示密钥。

sleep 0.1使得在提示之前打印整个命令。

tput cub ${#COMMAND_PASSED}向后移动光标以确保删除所有不必要的打印件。

谢谢大家!