在 bash 调用中,我想将一些常量参数放入一个变量中,并且不要在管道内丢失 StdOut 和 StdErr。
我有电话
git fetch origin "ref1:ref1" "ref2:ref2" "ref3:ref3"
Run Code Online (Sandbox Code Playgroud)
让我们把这些常量值放到一个变量中
fetch_refspec="'ref1:ref1' 'ref2:ref2' 'ref3:ref3'"
Run Code Online (Sandbox Code Playgroud)
我看到了使用管道的解决方案,但我害怕以某种方式丢失输出。而且我不想使用文件进行缓存(tee命令)。
echo $refs | xargs git origin
Run Code Online (Sandbox Code Playgroud)
我不明白如何巧妙地做这件事。或者如果可能的话。
后来我想把输出放到一个变量中并分析它。
不要使用变量,使用数组!
declare -a gitArgs=("ref1:ref1" "ref2:ref2" "ref3:ref3")
Run Code Online (Sandbox Code Playgroud)
并将其传递给您需要的命令,
git origin "${gitArgs[@]}"
Run Code Online (Sandbox Code Playgroud)