我试图理解这段代码是如何工作的:
for b in `git branch -r`; do git branch --track ${b##upstream/} $b; done
特别是它所做的部分
${b##upstream/}
我知道它从 $b 中剪切了字符“upstream/”,但我想知道这是如何或为什么起作用的。我在论坛上找到了这个片段。
答案1
for 循环与其他编程语言略有不同。基本上,它让您可以迭代字符串中的一系列“单词”。
样品
#!/bin/bash
for i in $( ls ); do
echo item: $i
done
在第二行,我们声明 i 为变量,它将采用 $( ls ) 中包含的不同值。
如果需要,第三行可以更长,或者在完成 (4) 之前可以有更多行。
'done' (4) 表示使用 $i 值的代码已完成,$i 可以采用新值。
该脚本没有什么意义,但是使用 for 循环的更有用的方法是使用它来仅匹配上一个示例中的某些文件
这关联将为您的问题提供详细解释。对于是