シェルスクリプト用の縮小解除ツールはありますか?

シェルスクリプト用の縮小解除ツールはありますか?

シェルコードにはさまざまな圧縮スクリプトがあります(例:バッシュコンプレッサー)、でもその逆はどうですか?

  1. どこどの シェル- 次のようにコード行を自動的に変換する中心的なユーティリティまたはスクリプト:

    echo foo;echo bar;echo "baz;bing";echo 'buz;bong'
    

    ...これで:

    echo foo
    echo bar
    echo "baz;bing"
    echo 'buz;bong'
    
  2. または、最小限のロジックを次のように置き換えます。

    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'

関連情報