用realine庫完善你的my shell

2021-07-15 23:08:13 字數 1484 閱讀 5710

sudo apt-get install libreadline6-dev

sudo apt-get install lib64readline6

我的ubuntu用這兩條命令安裝的,centos系就是把apt-get換成yum,後面的包名不確定,但肯定時readline開頭,多用tab鍵,耐心查詢.

裝好之後你要確定有/usr/include/readline這個目錄.

然後用ldconfig -p | grep readline命令來確定你的你的.so檔案位置,找/lib64下的.

┌─╼[~] 

└╼ ldconfig -p | grep readline

libreadline.so.6

(libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.6

libreadline.so.6

(libc6,x86-64) => /lib64/libreadline.so.6

libreadline.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libreadline.so

libguilereadline-v-18.so.18

(libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so.18

libguilereadline-v-18.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so

#include 

#include

#include

char *readline (const

char *prompt);

這是它的宣告,需要include兩個.h檔案,prompt引數是你要輸出的提示資訊,它返回的時char* 型的.

然後給大家個簡單的示例吧.

#include

#include

#include

int main()

free(line);

}return

0;}

add_history()函式是用來儲存歷史記錄的!

然後,由於它的編譯挺複雜,我麼幫直接寫makefile吧

cc = gcc

obj = ksh

all:

$(cc) -c ./1.3.c

$(cc) -o $(obj) ./1.3.o /lib64/libreadline.so.6 -i -lreadlin -lncurses -g

rm *.o

clean:

rm *.o

至此,你的shell已經相當帥氣了!

用Script Encoder加密你的ASP頁面

用script encoder加密你的asp頁面 一直以來,asp技術受到了越來越多朋友的喜愛,使用asp從事web開發的人也越來越多。asp乙個非常明顯的特徵是頁面在伺服器端經過處理之後傳送到瀏覽器中的內容為標準的html格式,這樣有效的保護了頁面程式的原 不被客戶端輕易獲取。但是另乙個普遍存在的...

python庫用什麼寫的 python庫用什麼寫好

requests.kenneth reitz寫的最富盛名的http庫。每個python程式設計師都應該有它。scrapy.如果你從事爬蟲相關的工作,那麼這個庫也是必不可少的。用過它之後你就不會再想用別的同類庫了。wxpython.python的乙個gui 圖形使用者介面 工具。我主要用它替代tkin...

用squid加速你的web

配置squid的配置檔案,使其支援httpd加速器工作方式。http port 引數指定squid監聽瀏覽器客戶請求的埠號,這裡當然是80了 cache dir ufs tmp 256 16 256 cache dir引數設定使用的儲存系統的型別。一般情況下都型別應該是ufs,目錄應該是 tmp 在...