*NIX系统下通过shell对命令形式的变量表达式进行求值
voidint opened this issue · 3 comments
voidint commented
{
"version": "0.5.0",
"tool": "go build -ldflags='-s -w' -gcflags='-N -l'",
"importpath": "github.com/voidint/gbb/build",
"variables": [
{
"variable": "Branch",
"value": "$(git branch | grep '*' | awk {'print $2'})"
}
]
}
对于git branch | grep '*' | awk {'print $2'}
这种由多个命令组合而成的复杂命令表达式,显然无法直接使用exec.Command()来获得最终结果。而通过shell来执行此类复杂命令,却可以极大简化整个表达式求值过程。
voidint commented
/bin/sh -c "echo 'hello world'"
damonchen commented
great!
voidint commented
- 在
*nix
系统下,读取SHELL
环境变量,调用当前用户的shell对表达式求值。 - 是否所有shell都有
-c
选项?