分享一个在 Windows 平台运行 Linux 命令的新方式

2018 年 6 月 11 日
 vitalis

用过 Linux 命令的人无不被他的强大折服,回头再也瞧不上 Windows 的命令行。甚至有人编译半天,折腾出了 cygwin。今天给大家介绍一个超简单的工具 Cash,直接用纯 ES6 实现的跨平台的 Linux 命令集。

Cash 的实现没有任何原生编译和其他额外依赖,在 Windows 上通过 JS 环境提供一个跟 Linux 体验一致的跨平台 bash 脚本终端。

npm 即可安装:

> 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');

Cash 已经支持的命令清单,如下:

想支持更多命令?看看 cash 下一步的规划

更多Node.js 精彩命令行应用

更多Node.js 开脑洞的命令行开发模式

8334 次点击
所在节点    程序员
30 条回复
kingname
2018 年 6 月 11 日
我现在用 wsl,非常好用。
vitalis
2018 年 6 月 11 日
jiangnanyanyu
2018 年 6 月 11 日
安装了 gjtbash 会不会有冲突
vitalis
2018 年 6 月 11 日
@jiangnanyanyu 重名的命令会按系统 PATH 变量的先后识别
ce233
2018 年 6 月 11 日
Ubuntu 子系统了解一下?
visitantzj
2018 年 6 月 11 日
了解一下强大的 powershell 先 o(∩_∩)o
leon0318
2018 年 6 月 11 日
wsl 了解一下+1
vitalis
2018 年 6 月 11 日
@wxkvEX
@visitantzj
@leonme
PowerShell 理论上足够强大,但是过于复杂(除了 Windows 偏好者之外不知道有多少 NIX 用户能接受),对于适应 bash 的人来说不如 Windows Subsystem for Linux。
Cash 是一个轻量级、无任何系统原生编译的、可在代码里使用的 Linux 命令行。
AllOfMe
2018 年 6 月 11 日
这 npm 包有创意
jiangnanyanyu
2018 年 6 月 11 日
比如 nodejs 的 path 和 gitbash 的 path 的先后顺序么?
Cooky
2018 年 6 月 11 日
cygwin,msys2,wsl
des
2018 年 6 月 11 日
意义不大,用 linux 用的是生态不,是这几个 shell 命令

还有 cygwin 是需要编译安装的吗?
黑人问号.jpg
pexcn
2018 年 6 月 11 日
MSYS2 更好
shijingshijing
2018 年 6 月 11 日
gitbash 自带的就已经很厉害了,不折腾其他的幺蛾子了
kingname
2018 年 6 月 11 日
@vitalis windows 10 自带的 Linux 子系统。是真正的 Linux,不是楼主发的这种模拟器可以比的。
kingname
2018 年 6 月 11 日
wsl 配合 Visual Studio Code 自带的终端。简直完美。
r7st
2018 年 6 月 11 日
PowerShell 完美解决
congeec
2018 年 6 月 11 日
Is it posix compatible? Why not busybox?
vitalis
2018 年 6 月 11 日
vitalis
2018 年 6 月 11 日
@des 你可以用别人编译好的,用 Linux 系统自然更好。如果在 Node.js 环境或做相关开发,这个包就有价值了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462101

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX