簡體   English   中英

模擬 BASH 箭頭以獲取上一個命令

[英]Simulate BASH arrow to get previous command

我不是在問如何根據互聯網搜索捕捉擊鍵,我相信這可以使用 Ncurses 庫https://en.wikipedia.org/wiki/Ncurses來完成

我想知道的是我按鍵后如何在終端中顯示命令。

目前我正在嘗試復制 BASH 的一部分,我的代碼所做的是

stephen@stephen:~/project/simsh$ ./simsh.c
stephen@stephen:~/project/simsh$ pwd
whateverDirectoryI'mNowIn
stephen@stephen:~/project/simsh$

我想要的是它可以在我按下向上箭頭后顯示以下內容

stephen@stephen:~/project/simsh$ pwd

代替

stephen@stephen:~/project/simsh$ ^[[A

雖然我知道如何捕獲關鍵信號,但我不知道如何立即顯示舊命令並將其視為潛在的輸入命令。

使用GNU Readline 庫,它會為您處理所有這些。

GNU Readline 是一個軟件庫,它為具有命令行界面的交互式程序(例如 Bash)提供行編輯和歷史記錄功能。 它目前由 Chet Ramey 作為 GNU 項目的一部分進行維護。

它允許用戶移動文本光標、搜索命令歷史記錄、控制終止環(更靈活的復制/粘貼剪貼板版本)並在文本終端上使用選項卡完成。 作為一個跨平台庫,readline 允許各種系統上的應用程序表現出相同的行編輯行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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