PARENTHESIS SHELL / 早期开发,开源项目

把 Shell
放进括号里。

命令行与脚本,共用一种小巧的 Lisp 方言。保留你熟悉的命令,让组合多一点结构。

浏览器中体验 parsh 与 coreutils,Linux 上处理自己的文件。

parsh / 初识表达式语法预览
(let name world)
(str "hello, " $name)
"hello, world"
(defn greet (who)
  (str "hello, " $who))
(greet parsh)
"hello, parsh"
(
同一个 Rust 解释器UTF-8 · S-EXP
闭合括号,查看结果。
S 表达式显式的值可组合命令使用 Rust 构建

小巧的语言,熟悉的工具。

少一点猜测。
多一点结构。

parsh 意为 parenthesis shell。命令调用就是表达式,命令行交互与脚本编写共用同一种语言。

/01

命令行与脚本,同一种语言。

在命令行中试好的表达式,可以直接放进脚本。变量、函数与控制流,始终遵循同一套规则。

(defn greet (name)
  (str "hello, " $name))
/02

参数,保持完整。

文本始终保持为一个参数,列表作为外部命令参数时展开一层。没有隐式分词或通配符展开,无需猜测空格会如何影响参数。

(let files (list "a file.rs" "b.rs"))
(list $files)
/03

真实命令,结构化组合。

在 Linux 上直接启动程序,用管道与重定向组合命令。保留熟悉的工具,用新的语法来表达。

(|> files.txt
  (| (find . -name "*.rs") (sort)))
Linux 原生环境

从括号开始。

从一个 ( 开始。

几行表达式,认识这门语言。无需安装,也无需离开浏览器。

打开体验终端