このコードがどのように機能するかを理解しようとしています。
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
2行目では、iを$(ls)に含まれるさまざまな値を取る変数として宣言します。
必要に応じて3行目が長くなる可能性があり、完了する前により多くの行がある可能性があります(4)。
'done'(4) は、$i 値を使用したコードが完了し、$i が新しい値を使用できることを意味します。
このスクリプトはあまり意味がありませんが、forループを使用するより便利な方法は、それを使用して前の例の特定のファイルのみを一致させることです。
これ協会あなたの質問の詳細な説明が提供されます。はい