我正在运行bash脚本,我想在执行脚本后用一些命令预填充命令行。唯一的条件是脚本当时不能运行。
我需要的是…
可能吗 我所尝试的只是使用以下方法模拟bash脚本
read -e -i "$comm" -p "[$USER@$HOSTNAME $PWD]$ " input command $input
但我正在寻找更简单的方法。
您需要使用TIOCSTI ioctl。这是一个示例C程序,显示了其工作方式:
#include <sys/ioctl.h> main() { char buf[] = "date"; int i; for (i = 0; i < sizeof buf - 1; i++) ioctl(0, TIOCSTI, &buf[i]); return 0; }
编译并运行它,“日期”将作为标准输入的缓冲输入,程序退出后您的外壳会读取它。您可以将其汇总为一个命令,该命令可将任何内容填充到输入流中,并在bash脚本中使用该命令。