在 bash 脚本中,脚本退出后在提示符上打印命令(作为建议)
In a bash script, print command (as a suggestion) on the prompt after the script exit
我想编写一个 shell 脚本,它可以通过在命令行提示符后打印来建议命令。
然后,在 scrip 退出后,用户只需按 [enter] 键即可 运行 这个建议的命令。
考虑到我是 bash 的新手,我什至不知道是否可以这样做。我想过用copy-past命令,移动光标,用$PS1变量,没找到合适的方法..
有没有人知道如何实现这样的功能?
根据 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}
向后移动光标以确保删除所有不需要的打印件。
谢谢大家!
我想编写一个 shell 脚本,它可以通过在命令行提示符后打印来建议命令。 然后,在 scrip 退出后,用户只需按 [enter] 键即可 运行 这个建议的命令。
考虑到我是 bash 的新手,我什至不知道是否可以这样做。我想过用copy-past命令,移动光标,用$PS1变量,没找到合适的方法..
有没有人知道如何实现这样的功能?
根据 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}
向后移动光标以确保删除所有不需要的打印件。
谢谢大家!