在macOS上,工具ghi
(命令行上的GitHub Issues)将以下内容添加到~/.gitconfig
:
[ghi]
token = !security find-internet-password -a username -s github.com -l 'ghi token' -w
我的理解是,从!
开始,这意味着它是一个shell命令。确实如此,执行它会返回正确的身份验证令牌(存储在macOS Keychain中)。但是运行git config --get ghi.token
会返回命令本身(使用!
)而不是结果,这正是我所期待的,因为看起来ghi
会使用它来检索密钥。
什么是git
命令,如果有的话,返回命令的结果,而不是命令本身?
没有这样的命令; ghi
读取配置值,剥去'!'并执行结果:
value = ENV[var] || `git config #{flags} #{key}`
value = `#{value[1..-1]}` if value.start_with? '!'
git在某些地方使用!
将标记配置值作为程序而不是普通值;但背后没有自动评估。