シェルコードにはさまざまな圧縮スクリプトがあります(例:バッシュコンプレッサー)、でもその逆はどうですか?
どこどの シェル- 次のようにコード行を自動的に変換する中心的なユーティリティまたはスクリプト:
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
シェルパーサ、フォーマッタ、インタプリタ(POSIX/Bash/mksh)
1行のコードを実行すると、次のような結果が生成されます。
%shfmt <<<"echo foo;echo bar;echo \"baz;bing\";echo 'buz;bong'"
echo foo
echo bar
echo "baz;bing"
echo 'buz;bong'