Cash:Javascript打造的Unix Shell

hhaip 9年前發布 | 10K 次閱讀 JavaScript Shell UNIX

來自: http://www.freebuf.com/tools/97115.html


Cash是一種純粹由ES6(Javascript)實現的跨平臺的Unix shell,它可以在windows下使用,曾經受超過200次嚴格全面的單元測試。

介紹

Cash的github地址在 這里 ,你可以聯想下 Cygwin ,不過Cash還具有別的特性:

1.非本地編譯

2.沒有麻煩的DLL文件

3.任何終端可用

4.只有Cygwin約15分之一的大小

Cash其實有特殊的意義,它將“>”標志換成了“$”,也就是貨幣符號,代表著“問既有答”的理念。

> cash
$

當然, Cash 看起來其實跟bash挺像,其實也確實有關系。

想要使用它嗎?你需要做的是:

> npm install cash -g
> cash
$

現在我們試試”中西結合”,把Windows命令和Unix命令混合使用:

$ ipconfig | grep IPv4 | sort
IPv4 Address. . . . . . . . . . . :10.10.40.50
IPv4 Address. . . . . . . . . . . :192.168.100.11
$

細節點這里

但如果你想單獨開 Cash ,你可以設置其為全局生效:

> npm install cash-global -g
> ls –lah

細節點這里

當然,若你只想要部分命令,你可以:

> npm install cash-ls -g
> npm install cash-grep –g

細節點這里

奇妙的是,如果你想在編程時使用它,可以這樣調用:

const $ = require('cash');
const out = $.ls('.', {l: true});

感覺不夠方便么?那么下面這樣呢:

const out = $('ls -lah');

當然,你想尋求對Unix命令更好的編程體驗,請看這里: Shell.JS

安全性和體驗

由于Shell.JS和本文所提到的 Cash ,雖然都給大家提供了Unix shell的體驗,但在安全性和某些細節處理上,會顯得更好些,因為這些Unix命令是由javascript庫模擬實現的,返回的都是javascript對象。

看看下面大家就明白了:

Cash的實現:

$('ls');// 'node_modules\n'
$('echofoo > foo.txt');

Shell.JS的實現:

ls();// ['node_modules'];
echo('foo').to('foo.txt');

順便提一句,筆者還有一個項目 Vorpal 是Node.js寫的。

cash的命令

目前cash支持的命令:

alias

cat

cd

cp

echo

grep

kill

less

ls

mkdir

mv

pwd

rm

sort

touch

unalias

想要筆者開發更多的命令?請在 這里 投票。當然,筆者也歡迎大家來 貢獻代碼 。最近,筆者正在尋找有開發.msi(windows安裝包)經驗的人,希望能幫忙對Cash的內容進行封裝,組成獨立的包,有意者請聯系筆者。

*參考來源: github ,FB小編dawner編譯,有刪改,轉載請注明來自FreeBuf黑客與極客(FreeBuf.COM) 

 本文由用戶 hhaip 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!