プログラムを実行するスクリプトの代替として make を使用する

プログラムを実行するスクリプトの代替として make を使用する

長すぎます。 make私のために働いていますが、正しいツールを探しています。

私は現在、Makefileプロジェクトのスクリプトランチャーとしてsを使用しています。各プロジェクトを標準化するために、次のように書くことができるようにmakefileを作成します。

make setup
make teardown
make execute "SOMETHING"

この場合、setup複数の Docker コンテナをインポート、デプロイ、クリーンteardownアップし、executeコンテナからコマンドを実行できます。

私はmake実際に依存関係を使って物を作るのに慣れていません。私が昔ながらのような感じがしますが…これまでは効果がありました。

make私はこれが仕事に適したツールだとは思わないが、この場合に人々xyz commandが実行できる他の一般的なバイナリがあるかどうか疑問に思います。xyz私はすべてのプロジェクトのための新しいbashスクリプトを書くのは好きではありません。なぜなら、私の考えでは一般的にははるかに読みにくいからです。

make私が吐き出したくないもの:

make: *** No rule to make target FOO. Stop.

これは通常、make処理パラメータ(たとえばmake execute "do this in a container")を乱用した場合に発生します。

一般的なUNIXツールの提案がある人はいますか?実行するコマンドの一部だけを指定できますか?

ベストアンサー1

次のスクリプトを使用して簡単な操作を実行できます。

#!/bin/bash                                                                     

function execute {
    echo "Executing $1"
}

case "$1" in
    "setup" )
        echo "Setting up" ;;
    "teardown" )
        echo "Tearing down" ;;
    "execute" )
        shift
        execute "$@"
        ;;
    * )
        echo "Usage: ..."
esac

シェルスクリプトの一般的な注意事項が適用されます(変数拡張、エラー処理を参照)。

おすすめ記事