프로그램을 실행하는 스크립트의 대안으로 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

쉘 스크립트의 일반적인 주의사항이 적용됩니다(변수 확장, 오류 처리 참고).

관련 정보