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

2018-06-11 11:35:06 +08:00
 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 开脑洞的命令行开发模式

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

还有 cygwin 是需要编译安装的吗?
黑人问号.jpg
pexcn
2018-06-11 12:56:06 +08:00
MSYS2 更好
shijingshijing
2018-06-11 12:59:38 +08:00
gitbash 自带的就已经很厉害了,不折腾其他的幺蛾子了
kingname
2018-06-11 13:00:32 +08:00
@vitalis windows 10 自带的 Linux 子系统。是真正的 Linux,不是楼主发的这种模拟器可以比的。
kingname
2018-06-11 13:01:59 +08:00
wsl 配合 Visual Studio Code 自带的终端。简直完美。
r7st
2018-06-11 13:05:15 +08:00
PowerShell 完美解决
congeec
2018-06-11 13:08:10 +08:00
Is it posix compatible? Why not busybox?
vitalis
2018-06-11 13:34:42 +08:00
vitalis
2018-06-11 13:37:39 +08:00
@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