私はこのようなコードスニペットを見ましたgit-stash
rm -f "$TMP-index" &&
GIT_INDEX_FILE="$TMP-index" git read-tree HEAD &&
# find out what the user wants
GIT_INDEX_FILE="$TMP-index" \
git add--interactive --patch=stash -- &&
# state of the working tree
w_tree=$(GIT_INDEX_FILE="$TMP-index" git write-tree) ||
die "$(gettext "Cannot save the current worktree state")"
git diff-tree -p HEAD $w_tree -- >"$TMP-patch" &&
test -s "$TMP-patch" ||
die "$(gettext "No changes selected")"
rm -f "$TMP-index" ||
die "$(gettext "Cannot remove temporary index (can't happen)")"
私が理解していないのは、次のような表現です。
GIT_INDEX_FILE="$TMP-index" git read-tree HEAD
に値を割り当ててからコマンドを実行するということTMP-index
ですGIT_INDEX_FILE
かgit read-tree HEAD
?
それについてはよくわかりません。そこで、このようなコマンドを書いてみました。
A="1" ls
echo $A
の値A
はまだnull
です。
私もこれを試しました:
echo $a
=> 1
k=$(a=100 echo $a)
=>
echo $k
=> 1
の値a
はまったく変更されていないようです。だからa=100
役に立たないようです。
誰かがこのような構文についてのアイデアを持っていますか?