shell 代码存在各种压缩脚本(例如bash 压缩器),但是反过来呢?
在那儿任何 壳-centric utils 或脚本来自动转换一行代码,如下所示:
echo foo;echo bar;echo "baz;bing";echo 'buz;bong'
...到这个:
echo foo echo bar echo "baz;bing" echo 'buz;bong'
或者将极简逻辑变成这样:
true && echo foo
...到这个:
if true ; then echo foo fi
答案1
缩小通常不是可逆操作,因为信息可能会在此过程中丢失,例如考虑人类可读的变量名称、注释、逻辑结构,它们可以以多种不同的方式编写等
但是有各种各样的工具可以漂亮地打印或美化你的代码,这应该可以解决#1为你。
一个例子是:https://github.com/mvdan/sh
shell 解析器、格式化程序和解释器 (POSIX/Bash/mksh)
运行你的单行代码,通过它,会产生以下结果:
%shfmt <<<"echo foo;echo bar;echo \"baz;bing\";echo 'buz;bong'"
echo foo
echo bar
echo "baz;bing"
echo 'buz;bong'