使用bash获取当前分支并存储为变量
在使用Kubernetes时,我希望运行依赖于活动分支的命令。因此,在给定当前分支的情况下,使用别名可以帮助我使用自动运行命令的其他别名 我试图使用一个函数将当前活动本地分支的名称存储到bash别名中,这样我就可以运行其他脚本,而不用担心指定活动分支,但在这方面我一直遇到错误使用bash获取当前分支并存储为变量,bash,git,Bash,Git,在使用Kubernetes时,我希望运行依赖于活动分支的命令。因此,在给定当前分支的情况下,使用别名可以帮助我使用自动运行命令的其他别名 我试图使用一个函数将当前活动本地分支的名称存储到bash别名中,这样我就可以运行其他脚本,而不用担心指定活动分支,但在这方面我一直遇到错误 function branch () { local result='git branch | grep ^\* | cut -c 3-'; echo "$result" } alias get_bran
function branch ()
{
local result='git branch | grep ^\* | cut -c 3-';
echo "$result"
}
alias get_branch=$(branch)
但当我尝试运行此功能时,我得到:
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>
.... (Same output as just entering 'git')
这让我想到
~/.bash\u别名在其他地方可能有语法问题
:)使用适当的管道命令可能更简单: (在此处为当前分支命名,可以是任意的)
我试着跟着:@Encrypted西瓜不。。。这只与那个问题有切身关系。当然,我使用的是类似的命令,但我想知道如何将其保存在函数的bash别名中。错误似乎与您显示的代码无关。如果输入
get\u branch
,会发生什么?我只是尝试运行您的代码,它工作正常。您是如何运行这段代码的?您得到的错误和代码似乎没有关系。我想我可能在尝试重新编写东西时,bash会话中出现了语法错误。我似乎在某种程度上错误地定义了函数,但仍然不确定我做错了什么。我仍然不明白为什么这个和别名git_branch='git branch | grep^*| cut-c3-'以前不起作用。不确定<代码>别名git|u branch='git branch | grep^\*|cut-c3-'为我工作git branch | grep'*'
是一种反模式。使用git rev parse--abbrev ref HEAD获取分支名称我没有否决,但OP在标题中特别要求使用bash。@Encrypted西瓜是的,我想知道这是否是否决的原因。但不确定OP是否真的需要bash别名。我想这可能是他一个不好的假设,并等待澄清。但你很可能是对的。不管怎样,我们的两种解决方案都有效,我想他无论如何都会好的:-)是的,需要是bash的别名,在question@Dave刘:谢谢你的澄清。编辑。@DaveLiu为什么要编写一个函数来生成别名的主体,为什么一开始就“需要”别名?
alias IMLAZY='git branch |grep \* | cut -d " " -f2'
alias TEST='git branch | grep ^\* | cut -c 3-'
alias IMLAZY='git branch |grep \* | cut -d " " -f2'
alias gitcb='git rev-parse --abbrev-ref HEAD'