簡體   English   中英

如何預填充命令行輸入

[英]How to prefill command line input

我正在運行一個bash腳本,我想在執行腳本后用命令行預填充命令行。 唯一的條件是該腳本當時不能運行。

我需要的是......

  1. 運行腳本
  2. 在腳本停止后,在命令行中預填充文本

它甚至可能嗎? 我嘗試的所有內容都是使用模擬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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM