[英]How to prefill command line input
我正在運行一個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;
}
編譯並運行它,“date”將作為stdin的輸入緩沖,shell將在程序退出后讀取。 您可以將其匯總到一個命令中,該命令允許您將任何內容填充到輸入流中,並在bash腳本中使用該命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.