$1 のどちらのオカレンスも置換されていません。それらは単一引用符で囲まれています。; echo
行末の は単なるコメントです。したがって、実際には何もしていません。それをエイリアスの一部にしたい場合は、全体を二重引用符で囲む必要があります。
<stashname>
行末に が追加されています (それが の目的だと思いますか?) あなたが提案するコマンドは、隠し場所の名前を指定して、次のecho
ようなものをエコーしたいようです。stash@{n}
以下のエイリアスがそれを行います。(あまり役に立ちませんが)
[alias]
load = "!git stash list | grep \" $1$\" | awk '{ print $1 }' | sed '$ s/:$//' #"
最初の $1 は、二重引用符で囲まれているだけなので、引数に置き換えられます。逃げる必要があります。awk の $1 は に置き換えられません<stashname>
。git ではすでに適用が可能であることに加えて、名前で隠した pop を使用できます。
$ git stash list # produces no output
$ echo "something" > else.txt
$ git stash something
Saved working directory and index state On master: something
HEAD is now at 6d3fcf0 merged
$ git load something
stash@{0}
こっちの方が見やすいかも
[alias]
test = "! echo $1 '$2' \"$3\" end; # "
結果は
$ git test first second third
first $2 third end