我想编写一个shell脚本,可以通过在命令行提示符后打印命令来建议命令。 然后,在脚本退出后,用户只需按[enter]键即可运行此建议命令。
鉴于我是bash的新手,我甚至不知道是否可以这样做。我想过使用copy-past命令,移动光标,使用$ PS1变量,而没有找到合适的方法..
有没有人有关于如何实施此功能的任何线索?
答案 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.1
和tput cub ${#COMMAND_PASSED}
命令来防止在命令提示符之前显示密钥。
sleep 0.1
使得在提示之前打印整个命令。
tput cub ${#COMMAND_PASSED}
向后移动光标以确保删除所有不必要的打印件。
谢谢大家!