여러 브랜치에서 임의의 명령을 실행하는 bash 함수를 작성하고 싶습니다.
compare_command () {
branch2="$1"
shift
command="$@"
echo $branch2
echo $command
# assume $@ is command and args
$(command) 2>&1 | tee baseline.log
git checkout "$branch2"
$(command) 2>&1 | tee "$branch2".log
git checkout -
}
compare_command master ls
예를 들어, "명령을 찾을 수 없음: 1"로 실패하고
compare_command master ls -a
, "명령을 찾을 수 없음: ls -a"로 실패합니다.
답변1
나는 당신이 bash에서 괄호가 어떻게 사용되는지 혼란스러워한다고 가정합니다.
compare_command () {
branch2="$1"
shift
echo "$branch2"
echo "$@"
# assume $@ is command and args
"$@" 2>&1 | tee baseline.log
git checkout "$branch2"
"$@" 2>&1 | tee "$branch2".log
git checkout -
}