`git 使用 bash 函数平分 运行`
`git bisect run` with a bash function
有没有一种方便的方法可以将 bash 脚本写入 运行 git bisect run
,其中使用的 bisect 命令本身就是一个 bash 函数?如果我的函数名为 step
,那么 git bisect run step
和 git bisect run bash -c step
都无法看到该函数。
我的脚本目前看起来像
function step {
# Do a bunch of steps here
}
if [[ $_ == [=13=] ]] # Test if the script is being sourced
then
git bisect start
git bisect bad bad-commit
git bisect good good-commit
git bisect run bash -c ". [=13=] && step"
git bisect log
fi
这在传递给 git bisect run
的命令中使用了使脚本源代码本身的粗暴技巧,这意味着我必须在尝试执行 git bisect
之前检查脚本当前是否正在源代码] 命令。
我想我可以将 bash 函数拆分成一个单独的脚本,但是有没有更好的方法在一个文件中完成所有这些工作?
您可以使用 export -f step
导出函数,也可以使用 set -a
导出脚本中的所有内容。
有没有一种方便的方法可以将 bash 脚本写入 运行 git bisect run
,其中使用的 bisect 命令本身就是一个 bash 函数?如果我的函数名为 step
,那么 git bisect run step
和 git bisect run bash -c step
都无法看到该函数。
我的脚本目前看起来像
function step {
# Do a bunch of steps here
}
if [[ $_ == [=13=] ]] # Test if the script is being sourced
then
git bisect start
git bisect bad bad-commit
git bisect good good-commit
git bisect run bash -c ". [=13=] && step"
git bisect log
fi
这在传递给 git bisect run
的命令中使用了使脚本源代码本身的粗暴技巧,这意味着我必须在尝试执行 git bisect
之前检查脚本当前是否正在源代码] 命令。
我想我可以将 bash 函数拆分成一个单独的脚本,但是有没有更好的方法在一个文件中完成所有这些工作?
您可以使用 export -f step
导出函数,也可以使用 set -a
导出脚本中的所有内容。